diff --git a/src/examples/IfcOpenHouse.cpp b/src/examples/IfcOpenHouse.cpp index 907b52bd62..13921a682d 100644 --- a/src/examples/IfcOpenHouse.cpp +++ b/src/examples/IfcOpenHouse.cpp @@ -213,12 +213,12 @@ int main(int argc, char** argv) { // will be tesselated using the deflection specified. TopoDS_Shape shape; createGroundShape(shape); - IfcEntities geometrical_entities(new IfcEntityList()); + IfcEntityList::ptr geometrical_entities(new IfcEntityList); IfcSchema::IfcProductDefinitionShape* ground_representation = IfcGeom::tesselate(shape, 100., geometrical_entities); file.getSingle()->setRepresentation(ground_representation); file.AddEntities(geometrical_entities); - IfcSchema::IfcShapeRepresentation::list ground_reps = geometrical_entities->as(); - for (IfcSchema::IfcShapeRepresentation::it it = ground_reps->begin(); it != ground_reps->end(); ++it) { + 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.getSingle()); } file.setSurfaceColour(ground_representation, 0.15, 0.25, 0.05); @@ -246,7 +246,7 @@ int main(int argc, char** argv) { , null #endif ); - IfcSchema::IfcMaterialLayer::list layers (new IfcTemplatedEntityList()); + IfcSchema::IfcMaterialLayer::list::ptr layers (new IfcTemplatedEntityList()); layers->push(layer); IfcSchema::IfcMaterialLayerSet* layer_set = new IfcSchema::IfcMaterialLayerSet( layers, @@ -324,9 +324,9 @@ int main(int argc, char** argv) { #endif ); door->setRepresentation(file.addBox(80, 80, 2120, 0, file.addPlacement3d(460, 0, 0))); - IfcSchema::IfcRepresentation::list door_representations = door->Representation()->Representations(); + IfcSchema::IfcRepresentation::list::ptr door_representations = door->Representation()->Representations(); IfcSchema::IfcShapeRepresentation* door_body = 0; - for (IfcSchema::IfcRepresentation::it i = door_representations->begin(); i != door_representations->end(); ++i) { + 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") { door_body = (IfcSchema::IfcShapeRepresentation*) rep; @@ -350,7 +350,7 @@ int main(int argc, char** argv) { // Therefore the OverallWidth and OverallHeight of the window attributes will need to // match the bounding box of the representation. Furthermore, the window placement needs // to align with the lowerleft corner of the constituent parts. - IfcSchema::IfcProductDefinitionShape::list frame_representations (new IfcTemplatedEntityList()); + IfcSchema::IfcProductDefinitionShape::list::ptr frame_representations (new IfcTemplatedEntityList()); frame_representations->push(file.addBox(1860, 90, 90)); frame_representations->push(*frame_representations->begin()); // Add a reference to the shape created above frame_representations->push(file.addBox(90, 90, 1420)); @@ -358,7 +358,7 @@ int main(int argc, char** argv) { // The beams all have the same surface style assigned IfcSchema::IfcPresentationStyleAssignment* frame_style = 0; - for (IfcSchema::IfcProductDefinitionShape::it i = frame_representations->begin(); i != frame_representations->end(); ++i) { + for (IfcSchema::IfcProductDefinitionShape::list::it i = frame_representations->begin(); i != frame_representations->end(); ++i) { if (frame_style) { file.setSurfaceColour(*i, frame_style); } else { @@ -368,14 +368,14 @@ int main(int argc, char** argv) { // This window will be placed at five locations within the building. A list of placements is // created and is iterated over to create all window instances. - IfcSchema::IfcLocalPlacement::list window_placements (new IfcTemplatedEntityList()); + IfcSchema::IfcLocalPlacement::list::ptr window_placements (new IfcTemplatedEntityList()); window_placements->push(file.addLocalPlacement(2*-1770-430-930, -45, 400)); window_placements->push(file.addLocalPlacement( -1770-430-930, -45, 400)); window_placements->push(file.addLocalPlacement( -430-930, -45, 400)); window_placements->push(file.addLocalPlacement( 3000-930, -45, 400)); window_placements->push(file.addLocalPlacement( -4855+45, 885-930, 400, 0, 0, 1, 0, 1, 0)); - for (IfcSchema::IfcLocalPlacement::it it = window_placements->begin(); it != window_placements->end(); ++it) { + for (IfcSchema::IfcLocalPlacement::list::it it = window_placements->begin(); it != window_placements->end(); ++it) { // Create the window at the current location IfcSchema::IfcLocalPlacement* place = *it; @@ -390,19 +390,19 @@ int main(int argc, char** argv) { file.addBuildingProduct(window); // Initalize a list of parts for the window to be composed of - IfcSchema::IfcObjectDefinition::list window_parts(new IfcTemplatedEntityList()); + IfcSchema::IfcObjectDefinition::list::ptr window_parts(new IfcTemplatedEntityList()); // The placements for the beams are not shared accross the different windows because every // beam is placed relative to its parent window entity. - IfcSchema::IfcLocalPlacement::list frame_placements (new IfcTemplatedEntityList()); + IfcSchema::IfcLocalPlacement::list::ptr frame_placements (new IfcTemplatedEntityList()); frame_placements->push(file.addLocalPlacement( 930,45)); frame_placements->push(file.addLocalPlacement( 930, 45, 1510)); frame_placements->push(file.addLocalPlacement(-885+930, 45, 90)); frame_placements->push(file.addLocalPlacement( 885+930, 45, 90)); // Now iterate over the placements and representations of the beam and add them to list of parts - IfcSchema::IfcLocalPlacement::it frame_placement; - IfcSchema::IfcProductDefinitionShape::it frame_representation; + IfcSchema::IfcLocalPlacement::list::it frame_placement; + IfcSchema::IfcProductDefinitionShape::list::it frame_representation; for (frame_placement = frame_placements->begin(), frame_representation = frame_representations->begin(); frame_placement != frame_placements->end() && frame_representation != frame_representations->end(); ++frame_placement, ++frame_representation) diff --git a/src/examples/IfcParseExamples.cpp b/src/examples/IfcParseExamples.cpp index 898507e5c6..71092e59b4 100644 --- a/src/examples/IfcParseExamples.cpp +++ b/src/examples/IfcParseExamples.cpp @@ -64,7 +64,7 @@ int main(int argc, char** argv) { std::cout << element->entity->toString() << std::endl; if ( element->is(IfcWindow::Class()) ) { - const IfcWindow::ptr window = reinterpret_pointer_cast(element); + const IfcWindow::ptr window = (IfcWindow*)element; if ( window->hasOverallWidth() && window->hasOverallHeight() ) { const double area = window->OverallWidth()*window->OverallHeight(); diff --git a/src/examples/arbitrary_open_profile_def.cpp b/src/examples/arbitrary_open_profile_def.cpp index f20b4d8f7d..17751edb10 100644 --- a/src/examples/arbitrary_open_profile_def.cpp +++ b/src/examples/arbitrary_open_profile_def.cpp @@ -124,8 +124,8 @@ int main(int argc, char** argv) { IfcSchema::IfcEllipse* ellipse = new IfcSchema::IfcEllipse(file.addPlacement2d(), 50., 25.); file.AddEntity(ellipse); - IfcEntities trim1(new IfcEntityList()); - IfcEntities trim2(new IfcEntityList()); + IfcEntityList::ptr trim1(new IfcEntityList); + IfcEntityList::ptr trim2(new IfcEntityList); trim1->push(new IfcWrite::IfcSelectHelper( 0., Ifc2x3::Type::IfcParameterValue)); trim2->push(new IfcWrite::IfcSelectHelper(180., Ifc2x3::Type::IfcParameterValue)); IfcSchema::IfcTrimmedCurve* trim = new IfcSchema::IfcTrimmedCurve(ellipse, trim1, trim2, true, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); diff --git a/src/examples/ellipse_pies.cpp b/src/examples/ellipse_pies.cpp index 967eb2cd12..0b2d83feb2 100644 --- a/src/examples/ellipse_pies.cpp +++ b/src/examples/ellipse_pies.cpp @@ -67,8 +67,8 @@ void create_testcase_for(IfcHierarchyHelper& file, const EllipsePie& pie, Ifc2x3 Ifc2x3::IfcEllipse* ellipse = new Ifc2x3::IfcEllipse(file.addPlacement2d(), pie.r1, pie.r2); file.AddEntity(ellipse); - IfcEntities trim1(new IfcEntityList()); - IfcEntities trim2(new IfcEntityList()); + IfcEntityList::ptr trim1(new IfcEntityList); + IfcEntityList::ptr trim2(new IfcEntityList); if (pref == Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER) { trim1->push(new IfcWrite::IfcSelectHelper(pie.t1, Ifc2x3::Type::IfcParameterValue)); trim2->push(new IfcWrite::IfcSelectHelper(pie.t2, Ifc2x3::Type::IfcParameterValue)); diff --git a/src/ifcexpressparser/header.py b/src/ifcexpressparser/header.py index 89554d056d..1676f2482c 100644 --- a/src/ifcexpressparser/header.py +++ b/src/ifcexpressparser/header.py @@ -65,11 +65,11 @@ class Header: def write_method(attr): if attr.optional: attr_lines.append(templates.optional_attribute_description % (attr.name, name)) - attr_lines.append("bool has%s();"%(attr.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) if mapping.make_argument_type(attr) != "IfcUtil::Argument_UNKNOWN": - attr_lines.append("%s %s();"%(type_str, attr.name)) + attr_lines.append("%s %s() const;"%(type_str, attr.name)) attr_lines.append("void set%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 572991c168..0f66316b8f 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -61,17 +61,26 @@ class Implementation: if not arg['is_inherited'] and not arg['is_derived']: if arg['is_optional']: write_attr( - templates.function, + 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']) + express = arg['list_instance_type'] in mapping.express_to_cpp_typemapping + if arg['is_enum']: return templates.get_attr_stmt_enum + elif arg['is_nested']: return templates.get_attr_stmt_nested_array + elif arg['is_array'] and not (simple or express): return templates.get_attr_stmt_array + elif arg['non_optional_type'].endswith('*'): return templates.get_attr_stmt_entity + else: return templates.get_attr_stmt - tmpl = templates.get_attr_stmt_enum if arg['is_enum'] else templates.get_attr_stmt_array if arg['is_array'] and not mapping.schema.is_simpletype(arg['list_instance_type']) and arg['list_instance_type'] not in mapping.express_to_cpp_typemapping else templates.get_attr_stmt_entity if arg['non_optional_type'].endswith('*') else templates.get_attr_stmt + tmpl = find_template(arg) write_attr( - templates.function, + templates.const_function, class_name = name, name = arg['name'], arguments = '', @@ -111,15 +120,15 @@ class Implementation: 'stmt' : impl} constructor_implementations.append(impl) - inverse = [templates.function % { + inverse = [templates.const_function % { 'class_name' : name, 'name' : i.name, 'arguments' : '', - 'return_type' : '%s::list' % i.entity, + 'return_type' : '%s::list::ptr' % i.entity, 'body' : templates.get_inverse % {'type': i.entity} } for i in (type.inverse.elements if type.inverse else [])] - superclass = "%s((IfcAbstractEntityPtr)0)" % type.supertypes[0] if len(type.supertypes) == 1 else 'IfcUtil::IfcBaseEntity()' + superclass = "%s((IfcAbstractEntity*)0)" % type.supertypes[0] if len(type.supertypes) == 1 else 'IfcUtil::IfcBaseEntity()' write( templates.entity_implementation, diff --git a/src/ifcexpressparser/mapping.py b/src/ifcexpressparser/mapping.py index 0c16f7163b..bca73a89fd 100644 --- a/src/ifcexpressparser/mapping.py +++ b/src/ifcexpressparser/mapping.py @@ -39,7 +39,8 @@ class Mapping: return self.express_to_cpp_typemapping.get(type, type) else: is_list = self.schema.is_entity(type.type) - tmpl = templates.list_type if is_list else templates.array_type + is_nested_list = isinstance(type.type, nodes.AggregationType) + tmpl = templates.list_list_type if is_nested_list else templates.list_type if is_list else templates.array_type return tmpl % { 'instance_type' : self.make_type_string(type.type), 'lower' : type.bounds.lower, @@ -71,9 +72,9 @@ class Mapping: elif isinstance(type, nodes.AggregationType): ty = _make_argument_type(type.type) if ty == "UNKNOWN": return "UNKNOWN" - return "ENTITY_LIST" if ty == "ENTITY" else ("VECTOR_%s"%ty) + return "%s_LIST"%ty if ty.startswith("ENTITY") else ("VECTOR_%s"%ty) else: raise ValueError - supported = {'INT', 'BOOL', 'DOUBLE', 'STRING', 'VECTOR_INT', 'VECTOR_DOUBLE', 'VECTOR_STRING', 'ENTITY', 'ENTITY_LIST', 'ENUMERATION'} + supported = {'INT', 'BOOL', 'DOUBLE', 'STRING', 'VECTOR_INT', 'VECTOR_DOUBLE', 'VECTOR_STRING', 'ENTITY', 'ENTITY_LIST', 'ENTITY_LIST_LIST', 'ENUMERATION'} ty = _make_argument_type(attr.type) if ty not in supported: ty = 'UNKNOWN' return "IfcUtil::Argument_%s" % ty @@ -90,7 +91,8 @@ class Mapping: if self.schema.is_enumeration(attr.type): type_str = '%s::%s'%(attr.type, attr.type) elif isinstance(type_str, nodes.AggregationType): - ty = self.get_parameter_type(attr.type, False, allow_entities, allow_pointer=False) + is_nested_list = isinstance(attr.type.type, nodes.AggregationType) + ty = self.get_parameter_type(attr.type.type if is_nested_list else attr.type, False, allow_entities, allow_pointer=False) if allow_entities and self.schema.is_select(attr.type.type): type_str = templates.untyped_list elif self.schema.is_simpletype(ty) or ty in self.express_to_cpp_typemapping.values(): @@ -100,7 +102,8 @@ class Mapping: 'upper' : attr.type.bounds.upper } else: - type_str = templates.list_type % { + tmpl = templates.list_list_type if is_nested_list else templates.list_type + type_str = tmpl % { 'instance_type': ty } elif allow_pointer and self.schema.is_entity(type_str): @@ -127,11 +130,16 @@ class Mapping: def list_instance_type(self, attr): f = lambda v : 'IfcUtil::IfcAbstractSelect' if self.schema.is_select(v) else v - if self.is_array(attr.type) and not isinstance(attr.type, str): - return f(attr.type.type) - elif self.is_array(attr.type) and isinstance(attr.type, str): - return f(attr.type) - else: return None + if self.is_array(attr.type): + if not isinstance(attr.type, str) and self.is_array(attr.type.type): + if isinstance(attr.type.type, str): + return f(attr.type.type) + else: return f(attr.type.type.type) + else: + if isinstance(attr.type, str): + return f(attr.type) + else: return f(attr.type.type) + return None def is_templated_list(self, attr): ty = self.list_instance_type(attr) @@ -163,6 +171,7 @@ class Mapping: 'is_inherited' : i < num_inherited, 'is_enum' : attr.type in self.schema.enumerations, 'is_array' : self.is_array(attr.type), + 'is_nested' : self.is_array(attr.type) and not isinstance(attr.type, str) and self.is_array(attr.type.type), 'is_derived' : attr.name in derived, 'is_templated_list' : self.is_templated_list(attr) } for i, attr in attrs if include(attr)] diff --git a/src/ifcexpressparser/templates.py b/src/ifcexpressparser/templates.py index e79aaff894..4b4375f904 100644 --- a/src/ifcexpressparser/templates.py +++ b/src/ifcexpressparser/templates.py @@ -42,7 +42,7 @@ namespace %(schema_name)s { %(class_definitions)s void InitStringMap(); -IfcUtil::IfcSchemaEntity SchemaEntity(IfcAbstractEntityPtr e = 0); +IfcUtil::IfcBaseClass* SchemaEntity(IfcAbstractEntity* e = 0); } #endif @@ -81,7 +81,7 @@ using namespace %(schema_name)s; using namespace IfcParse; using namespace IfcWrite; -IfcUtil::IfcSchemaEntity %(schema_name)s::SchemaEntity(IfcAbstractEntityPtr e) { +IfcUtil::IfcBaseClass* %(schema_name)s::SchemaEntity(IfcAbstractEntity* e) { switch(e->type()) { %(schema_entity_statements)s default: throw IfcException("Unable to find find keyword in schema"); break; @@ -117,25 +117,6 @@ bool Type::IsSimple(Enum v) { %(enumeration_functions)s -#define RETURN_INVERSE(T) \ - IfcEntities e = entity->getInverse(T::Class()); \ - SHARED_PTR< IfcTemplatedEntityList > l ( new IfcTemplatedEntityList() ); \ - for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { \ - l->push(reinterpret_pointer_cast(*it)); \ - } \ - return l; - -#define RETURN_AS_SINGLE(T,a) \ - return reinterpret_pointer_cast(*entity->getArgument(a)); - -#define RETURN_AS_LIST(T,a) \ - IfcEntities e = *entity->getArgument(a); \ - SHARED_PTR< IfcTemplatedEntityList > l ( new IfcTemplatedEntityList() ); \ - for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { \ - l->push(reinterpret_pointer_cast(*it)); \ - } \ - return l; - %(entity_implementations)s """ @@ -144,7 +125,7 @@ typedef %(type)s %(name)s; """ select = """%(documentation)s -typedef IfcUtil::IfcSchemaEntity %(name)s; +typedef IfcUtil::IfcBaseClass* %(name)s; """ enumeration = """namespace %(name)s { @@ -161,15 +142,13 @@ public: %(attributes)s virtual unsigned int getArgumentCount() const { return %(argument_count)d; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const {%(argument_type_function_body)s} virtual const char* getArgumentName(unsigned int i) const {%(argument_name_function_body)s} - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } %(inverse)s bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - %(name)s (IfcAbstractEntityPtr e); + %(name)s (IfcAbstractEntity* e); %(name)s (%(constructor_arguments)s); - typedef %(name)s* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< %(name)s > > list; - typedef IfcTemplatedEntityList< %(name)s >::it it; + typedef IfcTemplatedEntityList< %(name)s > list; }; """ @@ -190,18 +169,20 @@ entity_implementation = """// Function implementations for %(name)s %(attributes)s%(inverse)sbool %(name)s::is(Type::Enum v) const { return v == Type::%(name)s%(parent_type_test)s; } Type::Enum %(name)s::type() const { return Type::%(name)s; } Type::Enum %(name)s::Class() { return Type::%(name)s; } -%(name)s::%(name)s(IfcAbstractEntityPtr e) : %(superclass)s { if (!e) return; if (!e->is(Type::%(name)s)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +%(name)s::%(name)s(IfcAbstractEntity* e) : %(superclass)s { if (!e) return; if (!e->is(Type::%(name)s)) throw IfcException("Unable to find find keyword in schema"); entity = e; } %(name)s::%(name)s(%(constructor_arguments)s) : %(superclass)s { IfcWritableEntity* e = new IfcWritableEntity(Class());%(constructor_implementation)s entity = e; EntityBuffer::Add(this); } """ optional_attribute_description = "/// Whether the optional attribute %s is defined for this %s" function = "%(return_type)s %(class_name)s::%(name)s(%(arguments)s) { %(body)s }" +const_function = "%(return_type)s %(class_name)s::%(name)s(%(arguments)s) const { %(body)s }" array_type = "std::vector< %(instance_type)s > /*[%(lower)s:%(upper)s]*/" -list_type = "SHARED_PTR< IfcTemplatedEntityList< %(instance_type)s > >" -untyped_list = "IfcEntities" -inverse_attr = "SHARED_PTR< IfcTemplatedEntityList< %(entity)s > > %(name)s(); // INVERSE %(entity)s::%(attribute)s" +list_type = "IfcTemplatedEntityList< %(instance_type)s >::ptr" +list_list_type = "IfcTemplatedEntityListList< %(instance_type)s >::ptr" +untyped_list = "IfcEntityList::ptr" +inverse_attr = "IfcTemplatedEntityList< %(entity)s >::ptr %(name)s() const; // INVERSE %(entity)s::%(attribute)s" enum_from_string_stmt = ' if (s == "%(value)s") return ::%(schema_name)s::%(name)s::%(short_name)s_%(value)s;' @@ -216,10 +197,11 @@ optional_attr_stmt = "return !entity->getArgument(%(index)d)->isNull();" 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::IfcSchemaEntity)(*entity->getArgument(%(index)d)));" -get_attr_stmt_array = "RETURN_AS_LIST(%(list_instance_type)s,%(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_inverse = "RETURN_INVERSE(%(type)s)" +get_inverse = "return entity->getInverse(Type::%(type)s)->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));" diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 88d19f6d46..99cf2bc3ac 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -87,8 +87,8 @@ namespace IfcGeom { bool convert_wire(const IfcUtil::IfcBaseClass* L, TopoDS_Wire& result); bool convert_curve(const IfcUtil::IfcBaseClass* L, Handle(Geom_Curve)& result); bool convert_face(const IfcUtil::IfcBaseClass* L, TopoDS_Shape& result); - bool convert_openings(const IfcSchema::IfcProduct::ptr entity, const IfcSchema::IfcRelVoidsElement::list& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes); - bool convert_openings_fast(const IfcSchema::IfcProduct::ptr entity, const IfcSchema::IfcRelVoidsElement::list& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes); + bool convert_openings(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes); + bool convert_openings_fast(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes); IfcSchema::IfcSurfaceStyleShading* get_surface_style(IfcSchema::IfcRepresentationItem* item); bool create_solid_from_compound(const TopoDS_Shape& compound, TopoDS_Shape& solid); bool is_compound(const TopoDS_Shape& shape); @@ -104,7 +104,7 @@ namespace IfcGeom { void SetValue(GeomValue var, double value); double GetValue(GeomValue var); bool fill_nonmanifold_wires_with_planar_faces(TopoDS_Shape& shape); - IfcSchema::IfcProductDefinitionShape* tesselate(TopoDS_Shape& shape, double deflection, IfcEntities es); + IfcSchema::IfcProductDefinitionShape* tesselate(TopoDS_Shape& shape, double deflection, IfcEntityList::ptr es); diff --git a/src/ifcgeom/IfcGeomCurves.cpp b/src/ifcgeom/IfcGeomCurves.cpp index 1f1877ab0d..56ee23e6bb 100644 --- a/src/ifcgeom/IfcGeomCurves.cpp +++ b/src/ifcgeom/IfcGeomCurves.cpp @@ -79,7 +79,7 @@ #include "../ifcgeom/IfcGeom.h" -bool IfcGeom::convert(const IfcSchema::IfcCircle::ptr l, Handle(Geom_Curve)& curve) { +bool IfcGeom::convert(const IfcSchema::IfcCircle* l, Handle(Geom_Curve)& curve) { const double r = l->Radius() * IfcGeom::GetValue(GV_LENGTH_UNIT); if ( r < ALMOST_ZERO ) { Logger::Message(Logger::LOG_ERROR, "Radius not greater than zero for:", l->entity); @@ -98,7 +98,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCircle::ptr l, Handle(Geom_Curve)& cur curve = new Geom_Circle(ax, r); return true; } -bool IfcGeom::convert(const IfcSchema::IfcEllipse::ptr l, Handle(Geom_Curve)& curve) { +bool IfcGeom::convert(const IfcSchema::IfcEllipse* l, Handle(Geom_Curve)& curve) { double x = l->SemiAxis1() * IfcGeom::GetValue(GV_LENGTH_UNIT); double y = l->SemiAxis2() * IfcGeom::GetValue(GV_LENGTH_UNIT); if (x < ALMOST_ZERO || y < ALMOST_ZERO) { @@ -128,7 +128,7 @@ bool IfcGeom::convert(const IfcSchema::IfcEllipse::ptr l, Handle(Geom_Curve)& cu curve = new Geom_Ellipse(ax, x, y); return true; } -bool IfcGeom::convert(const IfcSchema::IfcLine::ptr l, Handle(Geom_Curve)& curve) { +bool IfcGeom::convert(const IfcSchema::IfcLine* l, Handle(Geom_Curve)& curve) { gp_Pnt pnt;gp_Vec vec; IfcGeom::convert(l->Pnt(),pnt); IfcGeom::convert(l->Dir(),vec); diff --git a/src/ifcgeom/IfcGeomFaces.cpp b/src/ifcgeom/IfcGeomFaces.cpp index 8fc72eaf00..d0ffe631d3 100644 --- a/src/ifcgeom/IfcGeomFaces.cpp +++ b/src/ifcgeom/IfcGeomFaces.cpp @@ -85,12 +85,22 @@ #include #include +#ifdef USE_IFC4 +#include +#include +#include +#include + +#include +#include +#endif + #include "../ifcgeom/IfcGeom.h" -bool IfcGeom::convert(const IfcSchema::IfcFace::ptr l, TopoDS_Shape& face) { - IfcSchema::IfcFaceBound::list bounds = l->Bounds(); - IfcSchema::IfcFaceBound::it it = bounds->begin(); - IfcSchema::IfcLoop::ptr loop = (*it)->Bound(); +bool IfcGeom::convert(const IfcSchema::IfcFace* l, TopoDS_Shape& face) { + IfcSchema::IfcFaceBound::list::ptr bounds = l->Bounds(); + IfcSchema::IfcFaceBound::list::it it = bounds->begin(); + IfcSchema::IfcLoop* loop = (*it)->Bound(); TopoDS_Wire outer_wire; if ( ! IfcGeom::convert_wire(loop,outer_wire) ) return false; BRepBuilderAPI_MakeFace mf (outer_wire); @@ -107,7 +117,7 @@ bool IfcGeom::convert(const IfcSchema::IfcFace::ptr l, TopoDS_Shape& face) { face = mf.Face(); } else { for( ++it; it != bounds->end(); ++ it) { - IfcSchema::IfcLoop::ptr loop = (*it)->Bound(); + IfcSchema::IfcLoop* loop = (*it)->Bound(); TopoDS_Wire wire; if ( ! IfcGeom::convert_wire(loop,wire) ) return false; mf.Add(wire); @@ -193,7 +203,7 @@ bool IfcGeom::convert(const IfcSchema::IfcFace::ptr l, TopoDS_Shape& face) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcArbitraryClosedProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcArbitraryClosedProfileDef* l, TopoDS_Shape& face) { TopoDS_Wire wire; if ( ! IfcGeom::convert_wire(l->OuterCurve(),wire) ) return false; @@ -203,12 +213,12 @@ bool IfcGeom::convert(const IfcSchema::IfcArbitraryClosedProfileDef::ptr l, Topo return success; } -bool IfcGeom::convert(const IfcSchema::IfcArbitraryProfileDefWithVoids::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcArbitraryProfileDefWithVoids* l, TopoDS_Shape& face) { TopoDS_Wire profile; if ( ! IfcGeom::convert_wire(l->OuterCurve(),profile) ) return false; BRepBuilderAPI_MakeFace mf(profile); - IfcSchema::IfcCurve::list voids = l->InnerCurves(); - for( IfcSchema::IfcCurve::it it = voids->begin(); it != voids->end(); ++ it ) { + IfcSchema::IfcCurve::list::ptr voids = l->InnerCurves(); + for( IfcSchema::IfcCurve::list::it it = voids->begin(); it != voids->end(); ++ it ) { TopoDS_Wire hole; if ( IfcGeom::convert_wire(*it,hole) ) { mf.Add(hole); @@ -220,7 +230,7 @@ bool IfcGeom::convert(const IfcSchema::IfcArbitraryProfileDefWithVoids::ptr l, T return true; } -bool IfcGeom::convert(const IfcSchema::IfcRectangleProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcRectangleProfileDef* l, TopoDS_Shape& face) { const double x = l->XDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double y = l->YDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -235,7 +245,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRectangleProfileDef::ptr l, TopoDS_Sha return IfcGeom::profile_helper(4,coords,0,0,0,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcRoundedRectangleProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcRoundedRectangleProfileDef* l, TopoDS_Shape& face) { const double x = l->XDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double y = l->YDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double r = l->RoundingRadius() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -253,7 +263,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRoundedRectangleProfileDef::ptr l, Top return IfcGeom::profile_helper(4,coords,4,fillets,radii,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcRectangleHollowProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcRectangleHollowProfileDef* l, TopoDS_Shape& face) { const double x = l->XDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double y = l->YDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double d = l->WallThickness() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -300,7 +310,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRectangleHollowProfileDef::ptr l, Topo return true; } -bool IfcGeom::convert(const IfcSchema::IfcTrapeziumProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcTrapeziumProfileDef* l, TopoDS_Shape& face) { const double x1 = l->BottomXDim() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double w = l->TopXDim() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double dx = l->TopXOffset() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -317,7 +327,7 @@ bool IfcGeom::convert(const IfcSchema::IfcTrapeziumProfileDef::ptr l, TopoDS_Sha return IfcGeom::profile_helper(4,coords,0,0,0,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcIShapeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcIShapeProfileDef* l, TopoDS_Shape& face) { const double x = l->OverallWidth() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double y = l->OverallDepth() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double d1 = l->WebThickness() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -342,7 +352,7 @@ bool IfcGeom::convert(const IfcSchema::IfcIShapeProfileDef::ptr l, TopoDS_Shape& return IfcGeom::profile_helper(12,coords,doFillet ? 4 : 0,fillets,radii,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcZShapeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcZShapeProfileDef* l, TopoDS_Shape& face) { const double x = l->FlangeWidth() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double y = l->Depth() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double dx = l->WebThickness() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -375,7 +385,7 @@ bool IfcGeom::convert(const IfcSchema::IfcZShapeProfileDef::ptr l, TopoDS_Shape& return IfcGeom::profile_helper(8,coords,(doFillet || doEdgeFillet) ? 4 : 0,fillets,radii,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcCShapeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCShapeProfileDef* l, TopoDS_Shape& face) { const double y = l->Depth() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double x = l->Width() / 2.0f * IfcGeom::GetValue(GV_LENGTH_UNIT); const double d1 = l->WallThickness() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -402,7 +412,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCShapeProfileDef::ptr l, TopoDS_Shape& return IfcGeom::profile_helper(12,coords,doFillet ? 8 : 0,fillets,radii,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcLShapeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcLShapeProfileDef* l, TopoDS_Shape& face) { const bool hasSlope = l->hasLegSlope(); const bool doEdgeFillet = l->hasEdgeRadius(); const bool doFillet = l->hasFilletRadius(); @@ -471,7 +481,7 @@ bool IfcGeom::convert(const IfcSchema::IfcLShapeProfileDef::ptr l, TopoDS_Shape& return IfcGeom::profile_helper(6,coords,doFillet ? 3 : 0,fillets,radii,trsf2d,face); } -bool IfcGeom::convert(const IfcSchema::IfcUShapeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcUShapeProfileDef* l, TopoDS_Shape& face) { const bool doEdgeFillet = l->hasEdgeRadius(); const bool doFillet = l->hasFilletRadius(); const bool hasSlope = l->hasFlangeSlope(); @@ -513,7 +523,7 @@ bool IfcGeom::convert(const IfcSchema::IfcUShapeProfileDef::ptr l, TopoDS_Shape& return IfcGeom::profile_helper(8, coords, (doFillet || doEdgeFillet) ? 4 : 0, fillets, radii, trsf2d, face); } -bool IfcGeom::convert(const IfcSchema::IfcTShapeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcTShapeProfileDef* l, TopoDS_Shape& face) { const bool doFlangeEdgeFillet = l->hasFlangeEdgeRadius(); const bool doWebEdgeFillet = l->hasWebEdgeRadius(); const bool doFillet = l->hasFilletRadius(); @@ -596,7 +606,7 @@ bool IfcGeom::convert(const IfcSchema::IfcTShapeProfileDef::ptr l, TopoDS_Shape& return IfcGeom::profile_helper(8, coords, (doFillet || doWebEdgeFillet || doFlangeEdgeFillet) ? 6 : 0, fillets, radii, trsf2d, face); } -bool IfcGeom::convert(const IfcSchema::IfcCircleProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCircleProfileDef* l, TopoDS_Shape& face) { const double r = l->Radius() * IfcGeom::GetValue(GV_LENGTH_UNIT); if ( r == 0.0f ) { Logger::Message(Logger::LOG_NOTICE,"Skipping zero sized profile:",l->entity); @@ -618,7 +628,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCircleProfileDef::ptr l, TopoDS_Shape& return success; } -bool IfcGeom::convert(const IfcSchema::IfcCircleHollowProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCircleHollowProfileDef* l, TopoDS_Shape& face) { const double r = l->Radius() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double t = l->WallThickness() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -647,7 +657,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCircleHollowProfileDef::ptr l, TopoDS_ return true; } -bool IfcGeom::convert(const IfcSchema::IfcEllipseProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcEllipseProfileDef* l, TopoDS_Shape& face) { double rx = l->SemiAxis1() * IfcGeom::GetValue(GV_LENGTH_UNIT); double ry = l->SemiAxis2() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -678,7 +688,7 @@ bool IfcGeom::convert(const IfcSchema::IfcEllipseProfileDef::ptr l, TopoDS_Shape return success; } -bool IfcGeom::convert(const IfcSchema::IfcCenterLineProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCenterLineProfileDef* l, TopoDS_Shape& face) { const double d = l->Thickness() * IfcGeom::GetValue(GV_LENGTH_UNIT) / 2.; TopoDS_Wire wire; @@ -727,16 +737,16 @@ bool IfcGeom::convert(const IfcSchema::IfcCenterLineProfileDef::ptr l, TopoDS_Sh return true; } -bool IfcGeom::convert(const IfcSchema::IfcCompositeProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCompositeProfileDef* l, TopoDS_Shape& face) { // BRepBuilderAPI_MakeFace mf; TopoDS_Compound compound; BRep_Builder builder; builder.MakeCompound(compound); - IfcSchema::IfcProfileDef::list profiles = l->Profiles(); + IfcSchema::IfcProfileDef::list::ptr profiles = l->Profiles(); bool first = true; - for (IfcSchema::IfcProfileDef::it it = profiles->begin(); it != profiles->end(); ++it) { + for (IfcSchema::IfcProfileDef::list::it it = profiles->begin(); it != profiles->end(); ++it) { TopoDS_Face f; if (IfcGeom::convert_face(*it, f)) { builder.Add(compound, f); @@ -757,7 +767,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCompositeProfileDef::ptr l, TopoDS_Sha return !face.IsNull(); } -bool IfcGeom::convert(const IfcSchema::IfcDerivedProfileDef::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcDerivedProfileDef* l, TopoDS_Shape& face) { TopoDS_Face f; gp_Trsf2d trsf2d; if (IfcGeom::convert_face(l->ParentProfile(), f) && IfcGeom::convert(l->Operator(), trsf2d)) { @@ -768,3 +778,97 @@ bool IfcGeom::convert(const IfcSchema::IfcDerivedProfileDef::ptr l, TopoDS_Shape return false; } } + +#ifdef USE_IFC4 + +bool convert_surf(IfcSchema::IfcBSplineSurfaceWithKnots* l, Handle_Geom_Surface& surf) { + SHARED_PTR< IfcTemplatedEntityListList > cps = l->ControlPointsList(); + std::vector uknots = l->UKnots(); + std::vector vknots = l->VKnots(); + std::vector umults = l->UMultiplicities(); + std::vector vmults = l->VMultiplicities(); + + TColgp_Array2OfPnt Poles (0, cps->Size() - 1, 0, (*cps->begin()).size() - 1); + TColStd_Array1OfReal UKnots(0, uknots.size() - 1); + TColStd_Array1OfReal VKnots(0, vknots.size() - 1); + TColStd_Array1OfInteger UMults(0, umults.size() - 1); + TColStd_Array1OfInteger VMults(0, vmults.size() - 1); + Standard_Integer UDegree = l->UDegree(); + Standard_Integer VDegree = l->VDegree(); + + int i = 0, j; + for (IfcTemplatedEntityListList::outer_it it = cps->begin(); it != cps->end(); ++it, ++i) { + j = 0; + for (IfcTemplatedEntityListList::inner_it jt = (*it).begin(); jt != (*it).end(); ++jt, ++j) { + IfcSchema::IfcCartesianPoint* p = *jt; + gp_Pnt pnt; + if (!IfcGeom::convert(p, pnt)) return false; + Poles(i, j) = pnt; + } + } + i = 0; + for (std::vector::const_iterator it = uknots.begin(); it != uknots.end(); ++it, ++i) { + UKnots(i) = *it; + } + i = 0; + for (std::vector::const_iterator it = vknots.begin(); it != vknots.end(); ++it, ++i) { + VKnots(i) = *it; + } + i = 0; + for (std::vector::const_iterator it = umults.begin(); it != umults.end(); ++it, ++i) { + UMults(i) = *it; + } + i = 0; + for (std::vector::const_iterator it = vmults.begin(); it != vmults.end(); ++it, ++i) { + VMults(i) = *it; + } + surf = new Geom_BSplineSurface(Poles, UKnots, VKnots, UMults, VMults, UDegree, VDegree); + return true; +} + +bool convert_surf(IfcSchema::IfcPlane* l, Handle_Geom_Surface& surf) { + gp_Pln pln; + IfcGeom::convert(l, pln); + surf = new Geom_Plane(pln); + return true; +} + +bool IfcGeom::convert(const IfcSchema::IfcAdvancedFace* l, TopoDS_Shape& face) { + IfcSchema::IfcSurface* s = l->FaceSurface(); + Handle_Geom_Surface surf(0); + if (s->is(IfcSchema::Type::IfcBSplineSurfaceWithKnots)) { + convert_surf((IfcSchema::IfcBSplineSurfaceWithKnots*)s, surf); + } else if (s->is(IfcSchema::Type::IfcPlane)) { + convert_surf((IfcSchema::IfcPlane*)s, surf); + } else { + return false; + } + + BRepBuilderAPI_MakeFace mf(surf, Precision::Confusion()); + IfcSchema::IfcFaceBound::list::ptr bounds = l->Bounds(); + for (IfcSchema::IfcFaceBound::list::it it = bounds->begin(); it != bounds->end(); ++it) { + IfcSchema::IfcLoop* loop = (*it)->Bound(); + TopoDS_Wire outer_wire; + if (!IfcGeom::convert_wire(loop, outer_wire)) return false; + + TopoDS_Face temp = BRepBuilderAPI_MakeFace(surf, outer_wire); + + if (BRepCheck_Face(temp).OrientationOfWires() == BRepCheck_BadOrientationOfSubshape) { + outer_wire.Reverse(); + ShapeFix_Face fix(BRepBuilderAPI_MakeFace(surf, outer_wire).Face()); + fix.FixOrientation(); + fix.Perform(); + TopoDS_Face temp = fix.Face(); + TopExp_Explorer exp(temp, TopAbs_WIRE); + outer_wire = TopoDS::Wire(exp.Current()); + } + + mf.Add(outer_wire); + } + + face = mf.Face(); + + return true; +} + +#endif \ No newline at end of file diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index fb24160a97..f3ec94fa0b 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -136,14 +136,14 @@ const TopoDS_Shape& IfcGeom::ensure_fit_for_subtraction(const TopoDS_Shape& shap return solid; } -bool IfcGeom::convert_openings(const IfcSchema::IfcProduct::ptr entity, const IfcSchema::IfcRelVoidsElement::list& openings, +bool IfcGeom::convert_openings(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes) { // Iterate over IfcOpeningElements IfcGeom::IfcRepresentationShapeItems opening_shapes; unsigned int last_size = 0; - for ( IfcSchema::IfcRelVoidsElement::it it = openings->begin(); it != openings->end(); ++ it ) { - IfcSchema::IfcRelVoidsElement::ptr v = *it; - IfcSchema::IfcFeatureElementSubtraction::ptr fes = v->RelatedOpeningElement(); + for ( IfcSchema::IfcRelVoidsElement::list::it it = openings->begin(); it != openings->end(); ++ it ) { + IfcSchema::IfcRelVoidsElement* v = *it; + IfcSchema::IfcFeatureElementSubtraction* fes = v->RelatedOpeningElement(); if ( fes->is(IfcSchema::Type::IfcOpeningElement) ) { // Convert the IfcRepresentation of the IfcOpeningElement @@ -153,10 +153,10 @@ bool IfcGeom::convert_openings(const IfcSchema::IfcProduct::ptr entity, const If // Move the opening into the coordinate system of the IfcProduct opening_trsf.PreMultiply(entity_trsf.Inverted()); - IfcSchema::IfcProductRepresentation::ptr prodrep = fes->Representation(); - IfcSchema::IfcRepresentation::list reps = prodrep->Representations(); + IfcSchema::IfcProductRepresentation* prodrep = fes->Representation(); + IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); - for ( IfcSchema::IfcRepresentation::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { + for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { IfcGeom::convert_shapes(*it2,opening_shapes); } @@ -230,7 +230,7 @@ bool IfcGeom::convert_openings(const IfcSchema::IfcProduct::ptr entity, const If return true; } -bool IfcGeom::convert_openings_fast(const IfcSchema::IfcProduct::ptr entity, const IfcSchema::IfcRelVoidsElement::list& openings, +bool IfcGeom::convert_openings_fast(const IfcSchema::IfcProduct* entity, const IfcSchema::IfcRelVoidsElement::list::ptr& openings, const IfcRepresentationShapeItems& entity_shapes, const gp_Trsf& entity_trsf, IfcRepresentationShapeItems& cut_shapes) { // Create a compound of all opening shapes in order to speed up the boolean operations @@ -238,9 +238,9 @@ bool IfcGeom::convert_openings_fast(const IfcSchema::IfcProduct::ptr entity, con BRep_Builder builder; builder.MakeCompound(opening_compound); - for ( IfcSchema::IfcRelVoidsElement::it it = openings->begin(); it != openings->end(); ++ it ) { - IfcSchema::IfcRelVoidsElement::ptr v = *it; - IfcSchema::IfcFeatureElementSubtraction::ptr fes = v->RelatedOpeningElement(); + for ( IfcSchema::IfcRelVoidsElement::list::it it = openings->begin(); it != openings->end(); ++ it ) { + IfcSchema::IfcRelVoidsElement* v = *it; + IfcSchema::IfcFeatureElementSubtraction* fes = v->RelatedOpeningElement(); if ( fes->is(IfcSchema::Type::IfcOpeningElement) ) { // Convert the IfcRepresentation of the IfcOpeningElement @@ -250,12 +250,12 @@ bool IfcGeom::convert_openings_fast(const IfcSchema::IfcProduct::ptr entity, con // Move the opening into the coordinate system of the IfcProduct opening_trsf.PreMultiply(entity_trsf.Inverted()); - IfcSchema::IfcProductRepresentation::ptr prodrep = fes->Representation(); - IfcSchema::IfcRepresentation::list reps = prodrep->Representations(); + IfcSchema::IfcProductRepresentation* prodrep = fes->Representation(); + IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); IfcGeom::IfcRepresentationShapeItems opening_shapes; - for ( IfcSchema::IfcRepresentation::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { + for ( IfcSchema::IfcRepresentation::list::it it2 = reps->begin(); it2 != reps->end(); ++ it2 ) { IfcGeom::convert_shapes(*it2,opening_shapes); } @@ -516,10 +516,10 @@ double IfcGeom::GetValue(GeomValue var) { return 0; } -IfcSchema::IfcProductDefinitionShape* IfcGeom::tesselate(TopoDS_Shape& shape, double deflection, IfcEntities es) { +IfcSchema::IfcProductDefinitionShape* IfcGeom::tesselate(TopoDS_Shape& shape, double deflection, IfcEntityList::ptr es) { BRepMesh::Mesh(shape, deflection); - IfcSchema::IfcFace::list faces (new IfcTemplatedEntityList()); + IfcSchema::IfcFace::list::ptr faces (new IfcSchema::IfcFace::list); for (TopExp_Explorer exp(shape, TopAbs_FACE); exp.More(); exp.Next()) { const TopoDS_Face& face = TopoDS::Face(exp.Current()); @@ -540,13 +540,13 @@ IfcSchema::IfcProductDefinitionShape* IfcGeom::tesselate(TopoDS_Shape& shape, do for (int i = 1; i <= triangles.Length(); ++ i) { int n1, n2, n3; triangles(i).Get(n1, n2, n3); - IfcSchema::IfcCartesianPoint::list points (new IfcTemplatedEntityList()); + IfcSchema::IfcCartesianPoint::list::ptr points (new IfcSchema::IfcCartesianPoint::list); points->push(vertices[n1-1]); points->push(vertices[n2-1]); points->push(vertices[n3-1]); IfcSchema::IfcPolyLoop* loop = new IfcSchema::IfcPolyLoop(points); IfcSchema::IfcFaceOuterBound* bound = new IfcSchema::IfcFaceOuterBound(loop, face.Orientation() != TopAbs_REVERSED); - IfcSchema::IfcFaceBound::list bounds (new IfcTemplatedEntityList()); + IfcSchema::IfcFaceBound::list::ptr bounds (new IfcSchema::IfcFaceBound::list); bounds->push(bound); IfcSchema::IfcFace* face = new IfcSchema::IfcFace(bounds); es->push(loop); @@ -557,12 +557,12 @@ IfcSchema::IfcProductDefinitionShape* IfcGeom::tesselate(TopoDS_Shape& shape, do } } IfcSchema::IfcOpenShell* shell = new IfcSchema::IfcOpenShell(faces); - IfcSchema::IfcConnectedFaceSet::list shells (new IfcTemplatedEntityList()); + IfcSchema::IfcConnectedFaceSet::list::ptr shells (new IfcSchema::IfcConnectedFaceSet::list); shells->push(shell); IfcSchema::IfcFaceBasedSurfaceModel* surface_model = new IfcSchema::IfcFaceBasedSurfaceModel(shells); - IfcSchema::IfcRepresentation::list reps (new IfcTemplatedEntityList()); - IfcSchema::IfcRepresentationItem::list items (new IfcTemplatedEntityList()); + IfcSchema::IfcRepresentation::list::ptr reps (new IfcSchema::IfcRepresentation::list); + IfcSchema::IfcRepresentationItem::list::ptr items (new IfcSchema::IfcRepresentationItem::list); items->push(surface_model); diff --git a/src/ifcgeom/IfcGeomHelpers.cpp b/src/ifcgeom/IfcGeomHelpers.cpp index ee3508df6f..2c3856f015 100644 --- a/src/ifcgeom/IfcGeomHelpers.cpp +++ b/src/ifcgeom/IfcGeomHelpers.cpp @@ -87,7 +87,7 @@ namespace IfcGeom { if ( it != Cache::T.end() ) { e = it->second; return true; } #define CACHE(T,E,e) Cache::T[E->entity->id()] = e; -bool IfcGeom::convert(const IfcSchema::IfcCartesianPoint::ptr l, gp_Pnt& point) { +bool IfcGeom::convert(const IfcSchema::IfcCartesianPoint* l, gp_Pnt& point) { IN_CACHE(IfcCartesianPoint,l,gp_Pnt,point) std::vector xyz = l->Coordinates(); point = gp_Pnt( @@ -99,7 +99,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianPoint::ptr l, gp_Pnt& point) return true; } -bool IfcGeom::convert(const IfcSchema::IfcDirection::ptr l, gp_Dir& dir) { +bool IfcGeom::convert(const IfcSchema::IfcDirection* l, gp_Dir& dir) { IN_CACHE(IfcDirection,l,gp_Dir,dir) std::vector xyz = l->DirectionRatios(); dir = gp_Dir( @@ -111,7 +111,7 @@ bool IfcGeom::convert(const IfcSchema::IfcDirection::ptr l, gp_Dir& dir) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcVector::ptr l, gp_Vec& v) { +bool IfcGeom::convert(const IfcSchema::IfcVector* l, gp_Vec& v) { IN_CACHE(IfcVector,l,gp_Vec,v) gp_Dir d; IfcGeom::convert(l->Orientation(),d); @@ -120,7 +120,7 @@ bool IfcGeom::convert(const IfcSchema::IfcVector::ptr l, gp_Vec& v) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcAxis2Placement3D::ptr l, gp_Trsf& trsf) { +bool IfcGeom::convert(const IfcSchema::IfcAxis2Placement3D* l, gp_Trsf& trsf) { IN_CACHE(IfcAxis2Placement3D,l,gp_Trsf,trsf) gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1);gp_Dir refDirection; IfcGeom::convert(l->Location(),o); @@ -135,7 +135,7 @@ bool IfcGeom::convert(const IfcSchema::IfcAxis2Placement3D::ptr l, gp_Trsf& trsf return true; } -bool IfcGeom::convert(const IfcSchema::IfcAxis1Placement::ptr l, gp_Ax1& ax) { +bool IfcGeom::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::convert(l->Location(),o); @@ -145,7 +145,7 @@ bool IfcGeom::convert(const IfcSchema::IfcAxis1Placement::ptr l, gp_Ax1& ax) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3D::ptr l, gp_Trsf& trsf) { +bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3D* l, gp_Trsf& trsf) { IN_CACHE(IfcCartesianTransformationOperator3D,l,gp_Trsf,trsf) gp_Pnt origin; IfcGeom::convert(l->LocalOrigin(),origin); @@ -165,7 +165,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3D::ptr return true; } -bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator2D::ptr l, gp_Trsf2d& trsf) { +bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator2D* l, gp_Trsf2d& trsf) { IN_CACHE(IfcCartesianTransformationOperator2D,l,gp_Trsf2d,trsf) gp_Pnt origin; @@ -199,7 +199,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator2D::ptr return true; } -bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3DnonUniform::ptr l, gp_GTrsf& gtrsf) { +bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3DnonUniform* l, gp_GTrsf& gtrsf) { IN_CACHE(IfcCartesianTransformationOperator3DnonUniform,l,gp_GTrsf,gtrsf) gp_Trsf trsf; gp_Pnt origin; @@ -227,7 +227,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator3DnonUn return true; } -bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator2DnonUniform::ptr l, gp_GTrsf2d& gtrsf) { +bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator2DnonUniform* l, gp_GTrsf2d& gtrsf) { IN_CACHE(IfcCartesianTransformationOperator2DnonUniform,l,gp_GTrsf2d,gtrsf) gp_Trsf2d trsf; @@ -263,9 +263,9 @@ bool IfcGeom::convert(const IfcSchema::IfcCartesianTransformationOperator2DnonUn return true; } -bool IfcGeom::convert(const IfcSchema::IfcPlane::ptr pln, gp_Pln& plane) { +bool IfcGeom::convert(const IfcSchema::IfcPlane* pln, gp_Pln& plane) { IN_CACHE(IfcPlane,pln,gp_Pln,plane) - IfcSchema::IfcAxis2Placement3D::ptr l = pln->Position(); + IfcSchema::IfcAxis2Placement3D* l = pln->Position(); gp_Pnt o;gp_Dir axis = gp_Dir(0,0,1);gp_Dir refDirection; IfcGeom::convert(l->Location(),o); bool hasRef = l->hasRefDirection(); @@ -279,7 +279,7 @@ bool IfcGeom::convert(const IfcSchema::IfcPlane::ptr pln, gp_Pln& plane) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcAxis2Placement2D::ptr l, gp_Trsf2d& trsf) { +bool IfcGeom::convert(const IfcSchema::IfcAxis2Placement2D* l, gp_Trsf2d& trsf) { IN_CACHE(IfcAxis2Placement2D,l,gp_Trsf2d,trsf) gp_Pnt P; gp_Dir V (1,0,0); IfcGeom::convert(l->Location(),P); @@ -292,13 +292,13 @@ bool IfcGeom::convert(const IfcSchema::IfcAxis2Placement2D::ptr l, gp_Trsf2d& tr return true; } -bool IfcGeom::convert(const IfcSchema::IfcObjectPlacement::ptr l, gp_Trsf& trsf) { +bool IfcGeom::convert(const IfcSchema::IfcObjectPlacement* l, gp_Trsf& trsf) { IN_CACHE(IfcObjectPlacement,l,gp_Trsf,trsf) if ( ! l->is(IfcSchema::Type::IfcLocalPlacement) ) { Logger::Message(Logger::LOG_ERROR, "Unsupported IfcObjectPlacement:", l->entity); return false; } - IfcSchema::IfcLocalPlacement::ptr current = reinterpret_pointer_cast(l); + IfcSchema::IfcLocalPlacement* current = (IfcSchema::IfcLocalPlacement*)l; while (1) { gp_Trsf trsf2; IfcSchema::IfcAxis2Placement relplacement = current->RelativePlacement(); @@ -307,9 +307,9 @@ bool IfcGeom::convert(const IfcSchema::IfcObjectPlacement::ptr l, gp_Trsf& trsf) trsf.PreMultiply(trsf2); } if ( current->hasPlacementRelTo() ) { - IfcSchema::IfcObjectPlacement::ptr relto = current->PlacementRelTo(); + IfcSchema::IfcObjectPlacement* relto = current->PlacementRelTo(); if ( relto->is(IfcSchema::Type::IfcLocalPlacement) ) - current = reinterpret_pointer_cast(current->PlacementRelTo()); + current = (IfcSchema::IfcLocalPlacement*)current->PlacementRelTo(); else break; } else break; } diff --git a/src/ifcgeom/IfcGeomObjects.cpp b/src/ifcgeom/IfcGeomObjects.cpp index c7d32626b9..45e5beec3b 100644 --- a/src/ifcgeom/IfcGeomObjects.cpp +++ b/src/ifcgeom/IfcGeomObjects.cpp @@ -279,8 +279,8 @@ IfcGeomObjects::IfcGeomObject::IfcGeomObject( {} // A container and iterator for IfcShapeRepresentations -static IfcSchema::IfcShapeRepresentation::list shapereps; -static IfcSchema::IfcShapeRepresentation::it shaperep_iterator; +static IfcSchema::IfcShapeRepresentation::list::ptr shapereps; +static IfcSchema::IfcShapeRepresentation::list::it shaperep_iterator; // The object is fetched beforehand to be positive an entity actually exists static IfcGeomObjects::IfcGeomObject* current_geom_obj = 0; @@ -288,8 +288,8 @@ static IfcGeomObjects::IfcGeomShapeModelObject* current_shape_model_obj = 0; static IfcGeomObjects::IfcGeomBrepDataObject* current_brep_data_obj = 0; // A container and iterator for IfcBuildingElements for the current IfcShapeRepresentation referenced by *shaperep_iterator -static IfcSchema::IfcProduct::list entities; -static IfcSchema::IfcProduct::it ifcproduct_iterator; +static IfcSchema::IfcProduct::list::ptr entities; +static IfcSchema::IfcProduct::list::it ifcproduct_iterator; static int done; static int total; @@ -301,23 +301,23 @@ void _nextShape() { ++ done; } -int _getParentId(const IfcSchema::IfcProduct::ptr ifc_product) { +int _getParentId(IfcSchema::IfcProduct* ifc_product) { int parent_id = -1; // In case of an opening element, parent to the RelatingBuildingElement if ( ifc_product->is(IfcSchema::Type::IfcOpeningElement ) ) { - IfcSchema::IfcOpeningElement::ptr opening = reinterpret_pointer_cast(ifc_product); - IfcSchema::IfcRelVoidsElement::list voids = opening->VoidsElements(); + IfcSchema::IfcOpeningElement* opening = (IfcSchema::IfcOpeningElement*)ifc_product; + IfcSchema::IfcRelVoidsElement::list::ptr voids = opening->VoidsElements(); if ( voids->Size() ) { - IfcSchema::IfcRelVoidsElement::ptr ifc_void = *voids->begin(); + IfcSchema::IfcRelVoidsElement* ifc_void = *voids->begin(); parent_id = ifc_void->RelatingBuildingElement()->entity->id(); } } else if ( ifc_product->is(IfcSchema::Type::IfcElement ) ) { - IfcSchema::IfcElement::ptr element = reinterpret_pointer_cast(ifc_product); - IfcSchema::IfcRelFillsElement::list fills = element->FillsVoids(); + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)ifc_product; + IfcSchema::IfcRelFillsElement::list::ptr fills = element->FillsVoids(); // Incase of a RelatedBuildingElement parent to the opening element if ( fills->Size() ) { - for ( IfcSchema::IfcRelFillsElement::it it = fills->begin(); it != fills->end(); ++ it ) { - IfcSchema::IfcRelFillsElement::ptr fill = *it; + for ( IfcSchema::IfcRelFillsElement::list::it it = fills->begin(); it != fills->end(); ++ it ) { + IfcSchema::IfcRelFillsElement* fill = *it; IfcSchema::IfcObjectDefinition* ifc_objectdef = fill->RelatingOpeningElement(); if ( ifc_product == ifc_objectdef ) continue; parent_id = ifc_objectdef->entity->id(); @@ -325,19 +325,19 @@ int _getParentId(const IfcSchema::IfcProduct::ptr ifc_product) { } // Else simply parent to the containing structure if ( parent_id == -1 ) { - IfcSchema::IfcRelContainedInSpatialStructure::list parents = element->ContainedInStructure(); + IfcSchema::IfcRelContainedInSpatialStructure::list::ptr parents = element->ContainedInStructure(); if ( parents->Size() ) { - IfcSchema::IfcRelContainedInSpatialStructure::ptr parent = *parents->begin(); + IfcSchema::IfcRelContainedInSpatialStructure* parent = *parents->begin(); parent_id = parent->RelatingStructure()->entity->id(); } } } // Parent decompositions to the RelatingObject if ( parent_id == -1 ) { - IfcEntities parents = ifc_product->entity->getInverse(IfcSchema::Type::IfcRelAggregates); + IfcEntityList::ptr parents = ifc_product->entity->getInverse(IfcSchema::Type::IfcRelAggregates); parents->push(ifc_product->entity->getInverse(IfcSchema::Type::IfcRelNests)); for ( IfcEntityList::it it = parents->begin(); it != parents->end(); ++ it ) { - IfcSchema::IfcRelDecomposes::ptr decompose = reinterpret_pointer_cast(*it); + IfcSchema::IfcRelDecomposes* decompose = (IfcSchema::IfcRelDecomposes*)*it; IfcSchema::IfcObjectDefinition* ifc_objectdef; #ifdef USE_IFC4 if (decompose->is(IfcSchema::Type::IfcRelAggregates)) { @@ -357,7 +357,7 @@ int _getParentId(const IfcSchema::IfcProduct::ptr ifc_product) { IfcGeomObjects::IfcGeomShapeModelObject* create_shape_model_for_next_entity() { while ( true ) { - IfcSchema::IfcShapeRepresentation::ptr shaperep; + IfcSchema::IfcShapeRepresentation* shaperep; // Have we reached the end of our list of representations? if ( shaperep_iterator == shapereps->end() ) { @@ -378,11 +378,11 @@ IfcGeomObjects::IfcGeomShapeModelObject* create_shape_model_for_next_entity() { continue; } } - IfcSchema::IfcProductRepresentation::list prodreps = shaperep->OfProductRepresentation(); - entities = IfcSchema::IfcProduct::list( new IfcTemplatedEntityList() ); - for ( IfcSchema::IfcProductRepresentation::it it = prodreps->begin(); it != prodreps->end(); ++it ) { + IfcSchema::IfcProductRepresentation::list::ptr prodreps = shaperep->OfProductRepresentation(); + entities = IfcSchema::IfcProduct::list::ptr(new IfcSchema::IfcProduct::list); + for ( IfcSchema::IfcProductRepresentation::list::it it = prodreps->begin(); it != prodreps->end(); ++it ) { if ( (*it)->is(IfcSchema::Type::IfcProductDefinitionShape) ) { - IfcSchema::IfcProductDefinitionShape::ptr pds = reinterpret_pointer_cast(*it); + IfcSchema::IfcProductDefinitionShape* pds = (IfcSchema::IfcProductDefinitionShape*)*it; entities->push(pds->ShapeOfProduct()); } else { // http://buildingsmart-tech.org/ifc/IFC2x3/TC1/html/ifcrepresentationresource/lexical/ifcproductrepresentation.htm @@ -391,9 +391,9 @@ IfcGeomObjects::IfcGeomShapeModelObject* create_shape_model_for_next_entity() { // IfcProductRepresentation also lacks the INVERSE relation to IfcProduct // Let's find the IfcProducts that reference the IfcProductRepresentation anyway - IfcEntities products = (*it)->entity->getInverse(IfcSchema::Type::IfcProduct); + IfcEntityList::ptr products = (*it)->entity->getInverse(IfcSchema::Type::IfcProduct); for ( IfcEntityList::it it = products->begin(); it != products->end(); ++ it ) { - entities->push(reinterpret_pointer_cast(*it)); + entities->push((IfcSchema::IfcProduct*)*it); } } } @@ -418,7 +418,7 @@ IfcGeomObjects::IfcGeomShapeModelObject* create_shape_model_for_next_entity() { continue; } - IfcSchema::IfcProduct::ptr ifc_product = *ifcproduct_iterator; + IfcSchema::IfcProduct* ifc_product = *ifcproduct_iterator; int parent_id = -1; try { @@ -435,24 +435,24 @@ IfcGeomObjects::IfcGeomShapeModelObject* create_shape_model_for_next_entity() { // Does the IfcElement have any IfcOpenings? // Note that openings for IfcOpeningElements are not processed - IfcSchema::IfcRelVoidsElement::list openings = IfcSchema::IfcRelVoidsElement::list(); + IfcSchema::IfcRelVoidsElement::list::ptr openings; if ( ifc_product->is(IfcSchema::Type::IfcElement) && !ifc_product->is(IfcSchema::Type::IfcOpeningElement) ) { - IfcSchema::IfcElement::ptr element = reinterpret_pointer_cast(ifc_product); + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)ifc_product; openings = element->HasOpenings(); } // Is the IfcElement a decomposition of an IfcElement with any IfcOpeningElements? if ( ifc_product->is(IfcSchema::Type::IfcBuildingElementPart ) ) { - IfcSchema::IfcBuildingElementPart::ptr part = reinterpret_pointer_cast(ifc_product); + IfcSchema::IfcBuildingElementPart* part = (IfcSchema::IfcBuildingElementPart*)ifc_product; #ifdef USE_IFC4 - IfcSchema::IfcRelAggregates::list decomposes = part->Decomposes(); - for ( IfcSchema::IfcRelAggregates::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { + IfcSchema::IfcRelAggregates::list::ptr decomposes = part->Decomposes(); + for ( IfcSchema::IfcRelAggregates::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { #else - IfcSchema::IfcRelDecomposes::list decomposes = part->Decomposes(); - for ( IfcSchema::IfcRelDecomposes::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { + IfcSchema::IfcRelDecomposes::list::ptr decomposes = part->Decomposes(); + for ( IfcSchema::IfcRelDecomposes::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { #endif - IfcSchema::IfcObjectDefinition::ptr obdef = (*it)->RelatingObject(); + IfcSchema::IfcObjectDefinition* obdef = (*it)->RelatingObject(); if ( obdef->is(IfcSchema::Type::IfcElement) ) { - IfcSchema::IfcElement::ptr element = reinterpret_pointer_cast(obdef); + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)obdef; openings->push(element->HasOpenings()); } } @@ -551,9 +551,9 @@ bool IfcGeomObjects::CleanUp() { const IfcGeomObjects::IfcObject* IfcGeomObjects::GetObject(int id) { IfcObject* ifc_object = 0; try { - const IfcParse::IfcEntity& ifc_entity = ifc_file->EntityById(id); + const IfcUtil::IfcBaseClass* ifc_entity = ifc_file->EntityById(id); if ( ifc_entity->is(IfcSchema::Type::IfcProduct) ) { - IfcSchema::IfcProduct::ptr ifc_product = reinterpret_pointer_cast(ifc_entity); + IfcSchema::IfcProduct* ifc_product = (IfcSchema::IfcProduct*)ifc_entity; int parent_id = -1; try { parent_id = _getParentId(ifc_product); @@ -610,7 +610,7 @@ void IfcGeomObjects::InitPrecision() { IfcGeom::SetValue(IfcGeom::GV_PRECISION, 0.00001); try { - IfcSchema::IfcGeometricRepresentationContext::list rep_contexts = ifc_file->EntitiesByType(); + IfcSchema::IfcGeometricRepresentationContext::list::ptr rep_contexts = ifc_file->EntitiesByType(); // Currently, IfcGeometricRepresentationContext aren't used as much as they should be // in the evaluation of shape representations, hence, we try to find the one with the // lowest precision. Typically, a value of 1e-5 is encountered. This value is applied @@ -619,7 +619,7 @@ void IfcGeomObjects::InitPrecision() { // one that is defined in the model file. double lowest_precision_encountered = std::numeric_limits::infinity(); bool any_precision_encountered = false; - for (IfcSchema::IfcGeometricRepresentationContext::it it = rep_contexts->begin(); it != rep_contexts->end(); ++it) { + for (IfcSchema::IfcGeometricRepresentationContext::list::it it = rep_contexts->begin(); it != rep_contexts->end(); ++it) { IfcSchema::IfcGeometricRepresentationContext* rep_context = *it; if (rep_context->is(IfcSchema::Type::IfcGeometricRepresentationSubContext)) continue; if (rep_context->hasPrecision()) { @@ -648,11 +648,11 @@ void IfcGeomObjects::InitUnits() { IfcGeom::SetValue(IfcGeom::GV_LENGTH_UNIT,1.0); IfcGeom::SetValue(IfcGeom::GV_PLANEANGLE_UNIT,-1.0); - IfcSchema::IfcUnitAssignment::list unit_assignments = ifc_file->EntitiesByType(); - IfcUtil::IfcAbstractSelect::list units = IfcUtil::IfcAbstractSelect::list(); + IfcSchema::IfcUnitAssignment::list::ptr unit_assignments = ifc_file->EntitiesByType(); + IfcUtil::IfcAbstractSelect::list::ptr units; try { if ( unit_assignments->Size() ) { - IfcSchema::IfcUnitAssignment::ptr unit_assignment = *unit_assignments->begin(); + IfcSchema::IfcUnitAssignment* unit_assignment = *unit_assignments->begin(); units = unit_assignment->Units(); } } catch (const IfcParse::IfcException&) {} @@ -660,10 +660,10 @@ void IfcGeomObjects::InitUnits() { if (!units) { // No units eh... Since tolerances and deflection are specified internally in meters // we will try to find another indication of the model size. - IfcSchema::IfcExtrudedAreaSolid::list extrusions = ifc_file->EntitiesByType(); + IfcSchema::IfcExtrudedAreaSolid::list::ptr extrusions = ifc_file->EntitiesByType(); if ( ! extrusions->Size() ) return; double max_height = -1.0f; - for ( IfcSchema::IfcExtrudedAreaSolid::it it = extrusions->begin(); it != extrusions->end(); ++ it ) { + for ( IfcSchema::IfcExtrudedAreaSolid::list::it it = extrusions->begin(); it != extrusions->end(); ++ it ) { try { const double depth = (*it)->Depth(); if ( depth > max_height ) max_height = depth; @@ -677,15 +677,15 @@ void IfcGeomObjects::InitUnits() { } try { - for ( IfcUtil::IfcAbstractSelect::it it = units->begin(); it != units->end(); ++ it ) { + for ( IfcUtil::IfcAbstractSelect::list::it it = units->begin(); it != units->end(); ++ it ) { std::string current_unit_name = ""; - const IfcUtil::IfcAbstractSelect::ptr base = *it; - IfcSchema::IfcSIUnit::ptr unit = IfcSchema::IfcSIUnit::ptr(); + IfcUtil::IfcAbstractSelect* base = *it; + IfcSchema::IfcSIUnit* unit = 0; double value = 1.0f; if ( base->is(IfcSchema::Type::IfcConversionBasedUnit) ) { - const IfcSchema::IfcConversionBasedUnit::ptr u = reinterpret_pointer_cast(base); + IfcSchema::IfcConversionBasedUnit* u = (IfcSchema::IfcConversionBasedUnit*)base; current_unit_name = u->Name(); - const IfcSchema::IfcMeasureWithUnit::ptr u2 = u->ConversionFactor(); + IfcSchema::IfcMeasureWithUnit* u2 = u->ConversionFactor(); IfcSchema::IfcUnit u3 = u2->UnitComponent(); if ( u3->is(IfcSchema::Type::IfcSIUnit) ) { unit = (IfcSchema::IfcSIUnit*) u3; @@ -695,7 +695,7 @@ void IfcGeomObjects::InitUnits() { const double f = *v2->wrappedValue(); value *= f; } else if ( base->is(IfcSchema::Type::IfcSIUnit) ) { - unit = reinterpret_pointer_cast(base); + unit = (IfcSchema::IfcSIUnit*)base; } if ( unit ) { if ( unit->hasPrefix() ) { diff --git a/src/ifcgeom/IfcGeomRenderStyles.cpp b/src/ifcgeom/IfcGeomRenderStyles.cpp index 3de7a8e77b..0c3000e519 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.cpp +++ b/src/ifcgeom/IfcGeomRenderStyles.cpp @@ -59,7 +59,7 @@ bool process_colour(IfcSchema::IfcColourOrFactor colour_or_factor, std::tr1::arr } } -const IfcGeom::SurfaceStyle* IfcGeom::get_style(IfcSchema::IfcRepresentationItem* item) { +const IfcGeom::SurfaceStyle* IfcGeom::get_style(const IfcSchema::IfcRepresentationItem* item) { std::pair shading_styles = get_surface_style(item); if (shading_styles.second == 0) { return 0; diff --git a/src/ifcgeom/IfcGeomRenderStyles.h b/src/ifcgeom/IfcGeomRenderStyles.h index 08e08fd28d..99124760cf 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.h +++ b/src/ifcgeom/IfcGeomRenderStyles.h @@ -101,29 +101,29 @@ namespace IfcGeom { boost::optional& Specularity() { return specularity; } }; - template std::pair get_surface_style(IfcSchema::IfcRepresentationItem* representation_item) { - IfcSchema::IfcStyledItem::list styled_items = representation_item->StyledByItem(); - for (IfcSchema::IfcStyledItem::it jt = styled_items->begin(); jt != styled_items->end(); ++jt) { + template std::pair get_surface_style(const IfcSchema::IfcRepresentationItem* representation_item) { + IfcSchema::IfcStyledItem::list::ptr styled_items = representation_item->StyledByItem(); + for (IfcSchema::IfcStyledItem::list::it jt = styled_items->begin(); jt != styled_items->end(); ++jt) { #ifdef USE_IFC4 - IfcUtil::IfcAbstractSelect::list style_assignments = (*jt)->Styles(); - for (IfcUtil::IfcAbstractSelect::it kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { + IfcUtil::IfcAbstractSelect::list::ptr style_assignments = (*jt)->Styles(); + for (IfcUtil::IfcAbstractSelect::list::it kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { if (!(*kt)->is(IfcSchema::Type::IfcPresentationStyleAssignment)) { continue; } - IfcSchema::IfcPresentationStyleAssignment::ptr style_assignment = (IfcSchema::IfcPresentationStyleAssignment::ptr) *kt; + IfcSchema::IfcPresentationStyleAssignment* style_assignment = (IfcSchema::IfcPresentationStyleAssignment*) *kt; #else - IfcSchema::IfcPresentationStyleAssignment::list style_assignments = (*jt)->Styles(); - for (IfcSchema::IfcPresentationStyleAssignment::it kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { - IfcSchema::IfcPresentationStyleAssignment::ptr style_assignment = *kt; + IfcSchema::IfcPresentationStyleAssignment::list::ptr style_assignments = (*jt)->Styles(); + for (IfcSchema::IfcPresentationStyleAssignment::list::it kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { + IfcSchema::IfcPresentationStyleAssignment* style_assignment = *kt; #endif - IfcUtil::IfcAbstractSelect::list styles = style_assignment->Styles(); - for (IfcUtil::IfcAbstractSelect::it lt = styles->begin(); lt != styles->end(); ++lt) { - IfcUtil::IfcAbstractSelect::ptr style = *lt; + IfcUtil::IfcAbstractSelect::list::ptr styles = style_assignment->Styles(); + for (IfcUtil::IfcAbstractSelect::list::it lt = styles->begin(); lt != styles->end(); ++lt) { + IfcUtil::IfcAbstractSelect* style = *lt; if (style->is(IfcSchema::Type::IfcSurfaceStyle)) { IfcSchema::IfcSurfaceStyle* surface_style = (IfcSchema::IfcSurfaceStyle*) style; if (surface_style->Side() != IfcSchema::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE) { - IfcUtil::IfcAbstractSelect::list styles_elements = surface_style->Styles(); - for (IfcUtil::IfcAbstractSelect::it mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { + IfcUtil::IfcAbstractSelect::list::ptr styles_elements = surface_style->Styles(); + for (IfcUtil::IfcAbstractSelect::list::it mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { if ((*mt)->is(T::Class())) { return std::make_pair(surface_style, (T*) *mt); } @@ -141,7 +141,7 @@ namespace IfcGeom { return std::make_pair(0,0); } - const SurfaceStyle* get_style(IfcSchema::IfcRepresentationItem* representation_item); + const SurfaceStyle* get_style(const IfcSchema::IfcRepresentationItem* representation_item); const SurfaceStyle* get_default_style(const std::string& ifc_type); namespace Cache { diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index f609fe1704..5d8e826e3b 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -94,7 +94,7 @@ #include "../ifcgeom/IfcGeom.h" -bool IfcGeom::convert(const IfcSchema::IfcExtrudedAreaSolid::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcExtrudedAreaSolid* l, TopoDS_Shape& shape) { TopoDS_Face face; if ( ! IfcGeom::convert_face(l->SweptArea(),face) ) return false; const double height = l->Depth() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -109,7 +109,7 @@ bool IfcGeom::convert(const IfcSchema::IfcExtrudedAreaSolid::ptr l, TopoDS_Shape return ! shape.IsNull(); } -bool IfcGeom::convert(const IfcSchema::IfcSurfaceOfLinearExtrusion::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcSurfaceOfLinearExtrusion* l, TopoDS_Shape& shape) { TopoDS_Wire wire; if ( !IfcGeom::convert_wire(l->SweptCurve(), wire) ) { TopoDS_Face face; @@ -129,7 +129,7 @@ bool IfcGeom::convert(const IfcSchema::IfcSurfaceOfLinearExtrusion::ptr l, TopoD return !shape.IsNull(); } -bool IfcGeom::convert(const IfcSchema::IfcSurfaceOfRevolution::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcSurfaceOfRevolution* l, TopoDS_Shape& shape) { TopoDS_Wire wire; if ( !IfcGeom::convert_wire(l->SweptCurve(), wire) ) { TopoDS_Face face; @@ -150,7 +150,7 @@ bool IfcGeom::convert(const IfcSchema::IfcSurfaceOfRevolution::ptr l, TopoDS_Sha return !shape.IsNull(); } -bool IfcGeom::convert(const IfcSchema::IfcRevolvedAreaSolid::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcRevolvedAreaSolid* l, TopoDS_Shape& shape) { const double ang = l->Angle() * IfcGeom::GetValue(GV_PLANEANGLE_UNIT); TopoDS_Face face; @@ -172,7 +172,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRevolvedAreaSolid::ptr l, TopoDS_Shape return !shape.IsNull(); } -bool IfcGeom::convert(const IfcSchema::IfcFacetedBrep::ptr l, IfcRepresentationShapeItems& shape) { +bool IfcGeom::convert(const IfcSchema::IfcFacetedBrep* l, IfcRepresentationShapeItems& shape) { TopoDS_Shape s; const SurfaceStyle* collective_style = get_style(l); if (IfcGeom::convert_shape(l->Outer(),s) ) { @@ -183,10 +183,10 @@ bool IfcGeom::convert(const IfcSchema::IfcFacetedBrep::ptr l, IfcRepresentationS return false; } -bool IfcGeom::convert(const IfcSchema::IfcFaceBasedSurfaceModel::ptr l, IfcRepresentationShapeItems& shapes) { - IfcSchema::IfcConnectedFaceSet::list facesets = l->FbsmFaces(); +bool IfcGeom::convert(const IfcSchema::IfcFaceBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { + IfcSchema::IfcConnectedFaceSet::list::ptr facesets = l->FbsmFaces(); const SurfaceStyle* collective_style = get_style(l); - for( IfcSchema::IfcConnectedFaceSet::it it = facesets->begin(); it != facesets->end(); ++ it ) { + for( IfcSchema::IfcConnectedFaceSet::list::it it = facesets->begin(); it != facesets->end(); ++ it ) { TopoDS_Shape s; const SurfaceStyle* shell_style = get_style(*it); if (IfcGeom::convert_shape(*it,s)) { @@ -196,22 +196,22 @@ bool IfcGeom::convert(const IfcSchema::IfcFaceBasedSurfaceModel::ptr l, IfcRepre return true; } -bool IfcGeom::convert(const IfcSchema::IfcHalfSpaceSolid::ptr l, TopoDS_Shape& shape) { - IfcSchema::IfcSurface::ptr surface = l->BaseSurface(); +bool IfcGeom::convert(const IfcSchema::IfcHalfSpaceSolid* l, TopoDS_Shape& shape) { + IfcSchema::IfcSurface* surface = l->BaseSurface(); if ( ! surface->is(IfcSchema::Type::IfcPlane) ) { Logger::Message(Logger::LOG_ERROR, "Unsupported BaseSurface:", surface->entity); return false; } gp_Pln pln; - IfcGeom::convert(reinterpret_pointer_cast(surface),pln); + IfcGeom::convert((IfcSchema::IfcPlane*)surface,pln); const gp_Pnt pnt = pln.Location().Translated( l->AgreementFlag() ? -pln.Axis().Direction() : pln.Axis().Direction()); shape = BRepPrimAPI_MakeHalfSpace(BRepBuilderAPI_MakeFace(pln),pnt).Solid(); return true; } -bool IfcGeom::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace* l, TopoDS_Shape& shape) { TopoDS_Shape halfspace; - if ( ! IfcGeom::convert(reinterpret_pointer_cast(l),halfspace) ) return false; + if ( ! IfcGeom::convert((IfcSchema::IfcHalfSpaceSolid*)l,halfspace) ) return false; TopoDS_Wire wire; if ( ! IfcGeom::convert_wire(l->PolygonalBoundary(),wire) || ! wire.Closed() ) return false; gp_Trsf trsf; @@ -223,10 +223,10 @@ bool IfcGeom::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace::ptr l, Topo return true; } -bool IfcGeom::convert(const IfcSchema::IfcShellBasedSurfaceModel::ptr l, IfcRepresentationShapeItems& shapes) { - IfcUtil::IfcAbstractSelect::list shells = l->SbsmBoundary(); +bool IfcGeom::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { + IfcUtil::IfcAbstractSelect::list::ptr shells = l->SbsmBoundary(); const SurfaceStyle* collective_style = get_style(l); - for( IfcUtil::IfcAbstractSelect::it it = shells->begin(); it != shells->end(); ++ it ) { + for( IfcUtil::IfcAbstractSelect::list::it it = shells->begin(); it != shells->end(); ++ it ) { TopoDS_Shape s; const SurfaceStyle* shell_style = 0; if ((*it)->is(IfcSchema::Type::IfcRepresentationItem)) { @@ -239,7 +239,7 @@ bool IfcGeom::convert(const IfcSchema::IfcShellBasedSurfaceModel::ptr l, IfcRepr return true; } -bool IfcGeom::convert(const IfcSchema::IfcBooleanResult::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape& shape) { TopoDS_Shape s1, s2; TopoDS_Wire boundary_wire; IfcSchema::IfcBooleanOperand operand1 = l->FirstOperand(); @@ -337,8 +337,8 @@ bool IfcGeom::convert(const IfcSchema::IfcBooleanResult::ptr l, TopoDS_Shape& sh } } -bool IfcGeom::convert(const IfcSchema::IfcConnectedFaceSet::ptr l, TopoDS_Shape& shape) { - IfcSchema::IfcFace::list faces = l->CfsFaces(); +bool IfcGeom::convert(const IfcSchema::IfcConnectedFaceSet* l, TopoDS_Shape& shape) { + IfcSchema::IfcFace::list::ptr faces = l->CfsFaces(); bool facesAdded = false; const unsigned int num_faces = faces->Size(); if ( num_faces < GetValue(GV_MAX_FACES_TO_SEW) ) { @@ -346,7 +346,7 @@ bool IfcGeom::convert(const IfcSchema::IfcConnectedFaceSet::ptr l, TopoDS_Shape& builder.SetTolerance(GetValue(GV_POINT_EQUALITY_TOLERANCE)); builder.SetMaxTolerance(GetValue(GV_POINT_EQUALITY_TOLERANCE)); builder.SetMinTolerance(GetValue(GV_POINT_EQUALITY_TOLERANCE)); - for( IfcSchema::IfcFace::it it = faces->begin(); it != faces->end(); ++ it ) { + for( IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++ it ) { TopoDS_Face face; if ( IfcGeom::convert_face(*it,face) && face_area(face) > GetValue(GV_MINIMAL_FACE_AREA) ) { builder.Add(face); @@ -367,7 +367,7 @@ bool IfcGeom::convert(const IfcSchema::IfcConnectedFaceSet::ptr l, TopoDS_Shape& TopoDS_Compound compound; BRep_Builder builder; builder.MakeCompound(compound); - for( IfcSchema::IfcFace::it it = faces->begin(); it != faces->end(); ++ it ) { + for( IfcSchema::IfcFace::list::it it = faces->begin(); it != faces->end(); ++ it ) { TopoDS_Face face; if ( IfcGeom::convert_face(*it,face) && face_area(face) > GetValue(GV_MINIMAL_FACE_AREA) ) { builder.Add(compound,face); @@ -382,27 +382,24 @@ bool IfcGeom::convert(const IfcSchema::IfcConnectedFaceSet::ptr l, TopoDS_Shape& return true; } -bool IfcGeom::convert(const IfcSchema::IfcMappedItem::ptr l, IfcRepresentationShapeItems& shapes) { +bool IfcGeom::convert(const IfcSchema::IfcMappedItem* l, IfcRepresentationShapeItems& shapes) { gp_GTrsf gtrsf; - IfcSchema::IfcCartesianTransformationOperator::ptr transform = l->MappingTarget(); + IfcSchema::IfcCartesianTransformationOperator* transform = l->MappingTarget(); if ( transform->is(IfcSchema::Type::IfcCartesianTransformationOperator3DnonUniform) ) { - IfcGeom::convert(reinterpret_pointer_cast(transform),gtrsf); + IfcGeom::convert((IfcSchema::IfcCartesianTransformationOperator3DnonUniform*)transform,gtrsf); } else if ( transform->is(IfcSchema::Type::IfcCartesianTransformationOperator2DnonUniform) ) { Logger::Message(Logger::LOG_ERROR, "Unsupported MappingTarget:", transform->entity); return false; } else if ( transform->is(IfcSchema::Type::IfcCartesianTransformationOperator3D) ) { gp_Trsf trsf; - IfcGeom::convert(reinterpret_pointer_cast(transform),trsf); + IfcGeom::convert((IfcSchema::IfcCartesianTransformationOperator3D*)transform,trsf); gtrsf = trsf; } else if ( transform->is(IfcSchema::Type::IfcCartesianTransformationOperator2D) ) { gp_Trsf2d trsf_2d; - IfcGeom::convert(reinterpret_pointer_cast(transform),trsf_2d); + IfcGeom::convert((IfcSchema::IfcCartesianTransformationOperator2D*)transform,trsf_2d); gtrsf = (gp_Trsf) trsf_2d; } - IfcSchema::IfcRepresentationMap::ptr map = l->MappingSource(); + IfcSchema::IfcRepresentationMap* map = l->MappingSource(); IfcSchema::IfcAxis2Placement placement = map->MappingOrigin(); gp_Trsf trsf; if (placement->is(IfcSchema::Type::IfcAxis2Placement3D)) { @@ -421,10 +418,10 @@ bool IfcGeom::convert(const IfcSchema::IfcMappedItem::ptr l, IfcRepresentationSh return b; } -bool IfcGeom::convert(const IfcSchema::IfcShapeRepresentation::ptr l, IfcRepresentationShapeItems& shapes) { - IfcSchema::IfcRepresentationItem::list items = l->Items(); +bool IfcGeom::convert(const IfcSchema::IfcShapeRepresentation* l, IfcRepresentationShapeItems& shapes) { + IfcSchema::IfcRepresentationItem::list::ptr items = l->Items(); if ( ! items->Size() ) return false; - for ( IfcSchema::IfcRepresentationItem::it it = items->begin(); it != items->end(); ++ it ) { + for ( IfcSchema::IfcRepresentationItem::list::it it = items->begin(); it != items->end(); ++ it ) { IfcSchema::IfcRepresentationItem* representation_item = *it; if ( IfcGeom::is_shape_collection(representation_item) ) IfcGeom::convert_shapes(*it,shapes); else { @@ -437,11 +434,11 @@ bool IfcGeom::convert(const IfcSchema::IfcShapeRepresentation::ptr l, IfcReprese return true; } -bool IfcGeom::convert(const IfcSchema::IfcGeometricSet::ptr l, IfcRepresentationShapeItems& shapes) { - IfcUtil::IfcAbstractSelect::list elements = l->Elements(); +bool IfcGeom::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresentationShapeItems& shapes) { + IfcUtil::IfcAbstractSelect::list::ptr elements = l->Elements(); if ( !elements->Size() ) return false; const IfcGeom::SurfaceStyle* parent_style = get_style(l); - for ( IfcUtil::IfcAbstractSelect::it it = elements->begin(); it != elements->end(); ++ it ) { + for ( IfcUtil::IfcAbstractSelect::list::it it = elements->begin(); it != elements->end(); ++ it ) { IfcSchema::IfcGeometricSetSelect element = *it; if (element->is(IfcSchema::Type::IfcSurface)) { IfcSchema::IfcSurface* surface = (IfcSchema::IfcSurface*) element; @@ -455,7 +452,7 @@ bool IfcGeom::convert(const IfcSchema::IfcGeometricSet::ptr l, IfcRepresentation return true; } -bool IfcGeom::convert(const IfcSchema::IfcBlock::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcBlock* l, TopoDS_Shape& shape) { const double dx = l->XLength() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double dy = l->YLength() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double dz = l->ZLength() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -467,7 +464,7 @@ bool IfcGeom::convert(const IfcSchema::IfcBlock::ptr l, TopoDS_Shape& shape) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcRectangularPyramid::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcRectangularPyramid* l, TopoDS_Shape& shape) { const double dx = l->XLength() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double dy = l->YLength() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double dz = l->Height() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -484,7 +481,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRectangularPyramid::ptr l, TopoDS_Shap return true; } -bool IfcGeom::convert(const IfcSchema::IfcRightCircularCylinder::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcRightCircularCylinder* l, TopoDS_Shape& shape) { const double r = l->Radius() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double h = l->Height() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -495,7 +492,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRightCircularCylinder::ptr l, TopoDS_S return true; } -bool IfcGeom::convert(const IfcSchema::IfcRightCircularCone::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcRightCircularCone* l, TopoDS_Shape& shape) { const double r = l->BottomRadius() * IfcGeom::GetValue(GV_LENGTH_UNIT); const double h = l->Height() * IfcGeom::GetValue(GV_LENGTH_UNIT); @@ -506,7 +503,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRightCircularCone::ptr l, TopoDS_Shape return true; } -bool IfcGeom::convert(const IfcSchema::IfcSphere::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcSphere* l, TopoDS_Shape& shape) { const double r = l->Radius() * IfcGeom::GetValue(GV_LENGTH_UNIT); BRepPrimAPI_MakeSphere builder(r); @@ -516,11 +513,11 @@ bool IfcGeom::convert(const IfcSchema::IfcSphere::ptr l, TopoDS_Shape& shape) { return true; } -bool IfcGeom::convert(const IfcSchema::IfcCsgSolid::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcCsgSolid* l, TopoDS_Shape& shape) { return IfcGeom::convert_shape(l->TreeRootExpression(), shape); } -bool IfcGeom::convert(const IfcSchema::IfcCurveBoundedPlane::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCurveBoundedPlane* l, TopoDS_Shape& face) { gp_Pln pln; IfcGeom::convert(l->BasisSurface(), pln); @@ -533,9 +530,9 @@ bool IfcGeom::convert(const IfcSchema::IfcCurveBoundedPlane::ptr l, TopoDS_Shape BRepBuilderAPI_MakeFace mf (outer); mf.Add(outer); - IfcSchema::IfcCurve::list inner = l->InnerBoundaries(); + IfcSchema::IfcCurve::list::ptr inner = l->InnerBoundaries(); - for (IfcSchema::IfcCurve::it it = inner->begin(); it != inner->end(); ++it) { + for (IfcSchema::IfcCurve::list::it it = inner->begin(); it != inner->end(); ++it) { TopoDS_Wire inner; IfcGeom::convert_wire(*it, inner); @@ -549,7 +546,7 @@ bool IfcGeom::convert(const IfcSchema::IfcCurveBoundedPlane::ptr l, TopoDS_Shape return true; } -bool IfcGeom::convert(const IfcSchema::IfcRectangularTrimmedSurface::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcRectangularTrimmedSurface* l, TopoDS_Shape& face) { if (!l->BasisSurface()->is(IfcSchema::Type::IfcPlane)) { Logger::Message(Logger::LOG_ERROR, "Unsupported BasisSurface:", l->BasisSurface()->entity); return false; @@ -564,7 +561,7 @@ bool IfcGeom::convert(const IfcSchema::IfcRectangularTrimmedSurface::ptr l, Topo return true; } -bool IfcGeom::convert(const IfcSchema::IfcSurfaceCurveSweptAreaSolid::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcSurfaceCurveSweptAreaSolid* l, TopoDS_Shape& shape) { gp_Trsf directrix, position; TopoDS_Shape face; TopoDS_Wire wire, section; @@ -637,7 +634,7 @@ bool IfcGeom::convert(const IfcSchema::IfcSurfaceCurveSweptAreaSolid::ptr l, Top return true; } -bool IfcGeom::convert(const IfcSchema::IfcSweptDiskSolid::ptr l, TopoDS_Shape& shape) { +bool IfcGeom::convert(const IfcSchema::IfcSweptDiskSolid* l, TopoDS_Shape& shape) { TopoDS_Wire wire, section1, section2; const bool hasInnerRadius = l->hasInnerRadius(); @@ -714,7 +711,7 @@ bool IfcGeom::convert(const IfcSchema::IfcSweptDiskSolid::ptr l, TopoDS_Shape& s #ifdef USE_IFC4 -bool IfcGeom::convert(const IfcSchema::IfcCylindricalSurface::ptr l, TopoDS_Shape& face) { +bool IfcGeom::convert(const IfcSchema::IfcCylindricalSurface* l, TopoDS_Shape& face) { gp_Trsf trsf; IfcGeom::convert(l->Position(),trsf); @@ -722,4 +719,8 @@ bool IfcGeom::convert(const IfcSchema::IfcCylindricalSurface::ptr l, TopoDS_Shap return true; } -#endif \ No newline at end of file +bool IfcGeom::convert(const IfcSchema::IfcAdvancedBrep* l, TopoDS_Shape& shape) { + return convert(l->Outer(), shape); +} + +#endif diff --git a/src/ifcgeom/IfcGeomWires.cpp b/src/ifcgeom/IfcGeomWires.cpp index 1953fed032..d76599a3fc 100644 --- a/src/ifcgeom/IfcGeomWires.cpp +++ b/src/ifcgeom/IfcGeomWires.cpp @@ -82,7 +82,7 @@ #include "../ifcgeom/IfcGeom.h" -bool IfcGeom::convert(const IfcSchema::IfcCompositeCurve::ptr l, TopoDS_Wire& wire) { +bool IfcGeom::convert(const IfcSchema::IfcCompositeCurve* l, TopoDS_Wire& wire) { if ( IfcGeom::GetValue(GV_PLANEANGLE_UNIT)<0 ) { Logger::Message(Logger::LOG_WARNING,"Creating a composite curve without unit information:",l->entity); @@ -138,11 +138,11 @@ bool IfcGeom::convert(const IfcSchema::IfcCompositeCurve::ptr l, TopoDS_Wire& wi return use_radians || use_degrees; } - IfcSchema::IfcCompositeCurveSegment::list segments = l->Segments(); + IfcSchema::IfcCompositeCurveSegment::list::ptr segments = l->Segments(); BRepBuilderAPI_MakeWire w; //TopoDS_Vertex last_vertex; - for( IfcSchema::IfcCompositeCurveSegment::it it = segments->begin(); it != segments->end(); ++ it ) { - const IfcSchema::IfcCurve::ptr curve = (*it)->ParentCurve(); + for( IfcSchema::IfcCompositeCurveSegment::list::it it = segments->begin(); it != segments->end(); ++ it ) { + IfcSchema::IfcCurve* curve = (*it)->ParentCurve(); TopoDS_Wire wire2; if ( ! IfcGeom::convert_wire(curve,wire2) ) { Logger::Message(Logger::LOG_ERROR,"Failed to convert curve:",curve->entity); @@ -171,15 +171,16 @@ bool IfcGeom::convert(const IfcSchema::IfcCompositeCurve::ptr l, TopoDS_Wire& wi wire = w.Wire(); return true; } -bool IfcGeom::convert(const IfcSchema::IfcTrimmedCurve::ptr l, TopoDS_Wire& wire) { - IfcSchema::IfcCurve::ptr basis_curve = l->BasisCurve(); + +bool IfcGeom::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& wire) { + IfcSchema::IfcCurve* basis_curve = l->BasisCurve(); bool isConic = basis_curve->is(IfcSchema::Type::IfcConic); double parameterFactor = isConic ? IfcGeom::GetValue(GV_PLANEANGLE_UNIT) : IfcGeom::GetValue(GV_LENGTH_UNIT); Handle(Geom_Curve) curve; if ( ! IfcGeom::convert_curve(basis_curve,curve) ) return false; bool trim_cartesian = l->MasterRepresentation() == IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN; - IfcUtil::IfcAbstractSelect::list trims1 = l->Trim1(); - IfcUtil::IfcAbstractSelect::list trims2 = l->Trim2(); + IfcUtil::IfcAbstractSelect::list::ptr trims1 = l->Trim1(); + IfcUtil::IfcAbstractSelect::list::ptr trims2 = l->Trim2(); bool trimmed1 = false; bool trimmed2 = false; unsigned sense_agreement = l->SenseAgreement() ? 0 : 1; @@ -188,24 +189,24 @@ bool IfcGeom::convert(const IfcSchema::IfcTrimmedCurve::ptr l, TopoDS_Wire& wire bool has_flts[2] = {false,false}; bool has_pnts[2] = {false,false}; BRepBuilderAPI_MakeWire w; - for ( IfcUtil::IfcAbstractSelect::it it = trims1->begin(); it != trims1->end(); it ++ ) { - const IfcUtil::IfcAbstractSelect::ptr i = *it; + for ( IfcUtil::IfcAbstractSelect::list::it it = trims1->begin(); it != trims1->end(); it ++ ) { + IfcUtil::IfcAbstractSelect* i = *it; if ( i->is(IfcSchema::Type::IfcCartesianPoint) ) { - IfcGeom::convert(reinterpret_pointer_cast(i), pnts[sense_agreement] ); + IfcGeom::convert((IfcSchema::IfcCartesianPoint*)i, pnts[sense_agreement] ); has_pnts[sense_agreement] = true; } else if ( i->is(IfcSchema::Type::IfcParameterValue) ) { - const double value = *reinterpret_pointer_cast(i)->wrappedValue(); + const double value = *((IfcUtil::IfcArgumentSelect*)i)->wrappedValue(); flts[sense_agreement] = value * parameterFactor; has_flts[sense_agreement] = true; } } - for ( IfcUtil::IfcAbstractSelect::it it = trims2->begin(); it != trims2->end(); it ++ ) { - const IfcUtil::IfcAbstractSelect::ptr i = *it; + for ( IfcUtil::IfcAbstractSelect::list::it it = trims2->begin(); it != trims2->end(); it ++ ) { + IfcUtil::IfcAbstractSelect* i = *it; if ( i->is(IfcSchema::Type::IfcCartesianPoint) ) { - IfcGeom::convert(reinterpret_pointer_cast(i), pnts[1-sense_agreement] ); + IfcGeom::convert((IfcSchema::IfcCartesianPoint*)i, pnts[1-sense_agreement] ); has_pnts[1-sense_agreement] = true; } else if ( i->is(IfcSchema::Type::IfcParameterValue) ) { - const double value = *reinterpret_pointer_cast(i)->wrappedValue(); + const double value = *((IfcUtil::IfcArgumentSelect*)i)->wrappedValue(); flts[1-sense_agreement] = value * parameterFactor; has_flts[1-sense_agreement] = true; } @@ -269,12 +270,13 @@ bool IfcGeom::convert(const IfcSchema::IfcTrimmedCurve::ptr l, TopoDS_Wire& wire return false; } } -bool IfcGeom::convert(const IfcSchema::IfcPolyline::ptr l, TopoDS_Wire& result) { - IfcSchema::IfcCartesianPoint::list points = l->Points(); + +bool IfcGeom::convert(const IfcSchema::IfcPolyline* l, TopoDS_Wire& result) { + IfcSchema::IfcCartesianPoint::list::ptr points = l->Points(); BRepBuilderAPI_MakeWire w; gp_Pnt P1;gp_Pnt P2; - for( IfcSchema::IfcCartesianPoint::it it = points->begin(); it != points->end(); ++ it ) { + for( IfcSchema::IfcCartesianPoint::list::it it = points->begin(); it != points->end(); ++ it ) { IfcGeom::convert(*it,P2); if ( it != points->begin() && ( !P1.IsEqual(P2,GetValue(GV_POINT_EQUALITY_TOLERANCE)) ) ) w.Add(BRepBuilderAPI_MakeEdge(P1,P2)); @@ -284,13 +286,14 @@ bool IfcGeom::convert(const IfcSchema::IfcPolyline::ptr l, TopoDS_Wire& result) result = w.Wire(); return true; } -bool IfcGeom::convert(const IfcSchema::IfcPolyLoop::ptr l, TopoDS_Wire& result) { - IfcSchema::IfcCartesianPoint::list points = l->Polygon(); + +bool IfcGeom::convert(const IfcSchema::IfcPolyLoop* l, TopoDS_Wire& result) { + IfcSchema::IfcCartesianPoint::list::ptr points = l->Polygon(); BRepBuilderAPI_MakeWire w; gp_Pnt P1;gp_Pnt P2;gp_Pnt F; int count = 0; - for( IfcSchema::IfcCartesianPoint::it it = points->begin(); it != points->end(); ++ it ) { + for( IfcSchema::IfcCartesianPoint::list::it it = points->begin(); it != points->end(); ++ it ) { IfcGeom::convert(*it,P2); if ( it != points->begin() && ( !P1.IsEqual(P2,GetValue(GV_POINT_EQUALITY_TOLERANCE)) ) ) { w.Add(BRepBuilderAPI_MakeEdge(P1,P2)); @@ -307,6 +310,102 @@ bool IfcGeom::convert(const IfcSchema::IfcPolyLoop::ptr l, TopoDS_Wire& result) result = w.Wire(); return true; } -bool IfcGeom::convert(const IfcSchema::IfcArbitraryOpenProfileDef::ptr l, TopoDS_Wire& result) { + +bool IfcGeom::convert(const IfcSchema::IfcArbitraryOpenProfileDef* l, TopoDS_Wire& result) { return IfcGeom::convert_wire(l->Curve(), result); } + +bool IfcGeom::convert(const IfcSchema::IfcEdgeCurve* l, TopoDS_Wire& result) { + IfcSchema::IfcPoint* pnt1 = ((IfcSchema::IfcVertexPoint*) l->EdgeStart())->VertexGeometry(); + IfcSchema::IfcPoint* pnt2 = ((IfcSchema::IfcVertexPoint*) l->EdgeEnd())->VertexGeometry(); + if (!pnt1->is(IfcSchema::Type::IfcCartesianPoint) || !pnt2->is(IfcSchema::Type::IfcCartesianPoint)) { + Logger::Message(Logger::LOG_ERROR, "Only IfcCartesianPoints are supported for VertexGeometry", l->entity); + return false; + } + + gp_Pnt p1, p2; + if (!IfcGeom::convert(((IfcSchema::IfcCartesianPoint*)pnt1), p1) || + !IfcGeom::convert(((IfcSchema::IfcCartesianPoint*)pnt2), p2)) + { + return false; + } + + BRepBuilderAPI_MakeWire mw; + Handle_Geom_Curve crv; + + // The lack of a clear separation between topological and geometrical entities + // is starting to get problematic. If the underlying curve is bounded it is + // assumed that a topological wire can be crafted from it. After which an + // attempt is made to reconstruct it from the individual curves and the vertices + // of the IfcEdgeCurve. + const bool is_bounded = l->EdgeGeometry()->is(IfcSchema::Type::IfcBoundedCurve); + + if (!is_bounded && IfcGeom::convert_curve(l->EdgeGeometry(), crv)) { + mw.Add(BRepBuilderAPI_MakeEdge(crv, p1, p2)); + result = mw; + return true; + } else if (is_bounded && IfcGeom::convert_wire(l->EdgeGeometry(), result)) { + if (!l->SameSense()) std::swap(pnt1, pnt2); + TopExp_Explorer exp(result, TopAbs_EDGE); + bool first = true; + while (exp.More()) { + const TopoDS_Edge& ed = TopoDS::Edge(exp.Current()); + Standard_Real u1, u2; + Handle(Geom_Curve) ecrv = BRep_Tool::Curve(ed, u1, u2); + exp.Next(); + const bool last = !exp.More(); + first = false; + if (first && last) { + mw.Add(BRepBuilderAPI_MakeEdge(ecrv, p1, p2)); + } else if (first) { + gp_Pnt pu; + ecrv->D0(u2, pu); + mw.Add(BRepBuilderAPI_MakeEdge(ecrv, p1, pu)); + } else if (last) { + gp_Pnt pu; + ecrv->D0(u1, pu); + mw.Add(BRepBuilderAPI_MakeEdge(ecrv, pu, p2)); + } else { + mw.Add(BRepBuilderAPI_MakeEdge(ecrv, u1, u2)); + } + } + result = mw; + return true; + } else { + return false; + } +} + +bool IfcGeom::convert(const IfcSchema::IfcEdgeLoop* l, TopoDS_Wire& result) { + IfcSchema::IfcOrientedEdge::list::ptr li = l->EdgeList(); + BRepBuilderAPI_MakeWire mw; + for (IfcSchema::IfcOrientedEdge::list::it it = li->begin(); it != li->end(); ++it) { + IfcSchema::IfcOrientedEdge* e = *it; + + IfcSchema::IfcPoint* pnt1 = ((IfcSchema::IfcVertexPoint*) e->EdgeStart())->VertexGeometry(); + IfcSchema::IfcPoint* pnt2 = ((IfcSchema::IfcVertexPoint*) e->EdgeEnd())->VertexGeometry(); + if (!pnt1->is(IfcSchema::Type::IfcCartesianPoint) || !pnt2->is(IfcSchema::Type::IfcCartesianPoint)) { + Logger::Message(Logger::LOG_ERROR, "Only IfcCartesianPoints are supported for VertexGeometry", l->entity); + return false; + } + + gp_Pnt p1, p2; + if (!IfcGeom::convert(((IfcSchema::IfcCartesianPoint*)pnt1), p1) || + !IfcGeom::convert(((IfcSchema::IfcCartesianPoint*)pnt2), p2)) + { + return false; + } + + mw.Add(BRepBuilderAPI_MakeEdge(p1, p2)); + continue; + + IfcSchema::IfcEdge* base = e->EdgeElement(); + TopoDS_Wire w; + if (convert_wire(e->EdgeElement(), w)) { + if (!e->Orientation()) w.Reverse(); + mw.Add(w); + } + } + result = mw; + return true; +} diff --git a/src/ifcgeom/IfcRegister.h b/src/ifcgeom/IfcRegister.h index 85a51b0676..0ea1dba78c 100644 --- a/src/ifcgeom/IfcRegister.h +++ b/src/ifcgeom/IfcRegister.h @@ -50,6 +50,10 @@ SHAPES(IfcMappedItem); SHAPES(IfcFacetedBrep); SHAPES(IfcGeometricSet); +#ifdef USE_IFC4 +SHAPE(IfcCylindricalSurface); +SHAPE(IfcAdvancedBrep); +#endif SHAPE(IfcExtrudedAreaSolid); SHAPE(IfcRevolvedAreaSolid); SHAPE(IfcConnectedFaceSet); @@ -68,10 +72,10 @@ SHAPE(IfcCurveBoundedPlane); SHAPE(IfcRectangularTrimmedSurface); SHAPE(IfcSurfaceCurveSweptAreaSolid); SHAPE(IfcSweptDiskSolid); -#ifdef USE_IFC4 -SHAPE(IfcCylindricalSurface); -#endif +#ifdef USE_IFC4 +FACE(IfcAdvancedFace); +#endif FACE(IfcArbitraryProfileDefWithVoids); FACE(IfcArbitraryClosedProfileDef); FACE(IfcRoundedRectangleProfileDef); @@ -92,6 +96,8 @@ FACE(IfcCompositeProfileDef); FACE(IfcDerivedProfileDef); FACE(IfcFace); +WIRE(IfcEdgeCurve); +WIRE(IfcEdgeLoop); WIRE(IfcPolyline); WIRE(IfcPolyLoop); WIRE(IfcCompositeCurve); diff --git a/src/ifcgeom/IfcRegisterGeomHeader.h b/src/ifcgeom/IfcRegisterGeomHeader.h index aaf1b6e702..6d469a6b73 100644 --- a/src/ifcgeom/IfcRegisterGeomHeader.h +++ b/src/ifcgeom/IfcRegisterGeomHeader.h @@ -1,5 +1,5 @@ #include "IfcRegisterUndef.h" -#define CLASS(T,V) bool convert(const T::ptr L, V& r); +#define CLASS(T,V) bool convert(const T* L, V& r); #define SHAPES(T) CLASS(T,IfcRepresentationShapeItems) #define SHAPE(T) CLASS(T,TopoDS_Shape) #define WIRE(T) CLASS(T,TopoDS_Wire) diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index 9be4b37ee3..f64949e22e 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -35,7 +35,7 @@ using namespace Ifc2x3; using namespace IfcParse; using namespace IfcWrite; -IfcUtil::IfcSchemaEntity Ifc2x3::SchemaEntity(IfcAbstractEntityPtr e) { +IfcUtil::IfcBaseClass* Ifc2x3::SchemaEntity(IfcAbstractEntity* e) { switch(e->type()) { case Type::IfcAbsorbedDoseMeasure: return new IfcUtil::IfcEntitySelect(e); break; case Type::IfcAccelerationMeasure: return new IfcUtil::IfcEntitySelect(e); break; @@ -5088,7933 +5088,7927 @@ IfcWorkControlTypeEnum::IfcWorkControlTypeEnum IfcWorkControlTypeEnum::FromStrin } -#define RETURN_INVERSE(T) IfcEntities e = entity->getInverse(T::Class()); SHARED_PTR< IfcTemplatedEntityList > l ( new IfcTemplatedEntityList() ); for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { l->push(reinterpret_pointer_cast(*it)); } return l; - -#define RETURN_AS_SINGLE(T,a) return reinterpret_pointer_cast(*entity->getArgument(a)); - -#define RETURN_AS_LIST(T,a) IfcEntities e = *entity->getArgument(a); SHARED_PTR< IfcTemplatedEntityList > l ( new IfcTemplatedEntityList() ); for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { l->push(reinterpret_pointer_cast(*it)); } return l; - // Function implementations for Ifc2DCompositeCurve bool Ifc2DCompositeCurve::is(Type::Enum v) const { return v == Type::Ifc2DCompositeCurve || IfcCompositeCurve::is(v); } Type::Enum Ifc2DCompositeCurve::type() const { return Type::Ifc2DCompositeCurve; } Type::Enum Ifc2DCompositeCurve::Class() { return Type::Ifc2DCompositeCurve; } -Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcAbstractEntityPtr e) : IfcCompositeCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::Ifc2DCompositeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -Ifc2DCompositeCurve::Ifc2DCompositeCurve(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcAbstractEntity* e) : IfcCompositeCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::Ifc2DCompositeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActionRequest -IfcIdentifier IfcActionRequest::RequestID() { return *entity->getArgument(5); } +IfcIdentifier IfcActionRequest::RequestID() const { return *entity->getArgument(5); } void IfcActionRequest::setRequestID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActionRequest::IfcActionRequest(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_RequestID) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_RequestID)); entity = e; EntityBuffer::Add(this); } +IfcActionRequest::IfcActionRequest(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActionRequest::IfcActionRequest(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_RequestID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_RequestID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActor -IfcActorSelect IfcActor::TheActor() { return *entity->getArgument(5); } +IfcActorSelect IfcActor::TheActor() const { return *entity->getArgument(5); } void IfcActor::setTheActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcRelAssignsToActor::list IfcActor::IsActingUpon() { RETURN_INVERSE(IfcRelAssignsToActor) } +IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return entity->getInverse(Type::IfcRelAssignsToActor)->as(); } bool IfcActor::is(Type::Enum v) const { return v == Type::IfcActor || IfcObject::is(v); } Type::Enum IfcActor::type() const { return Type::IfcActor; } Type::Enum IfcActor::Class() { return Type::IfcActor; } -IfcActor::IfcActor(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActor::IfcActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActor::IfcActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActorRole -IfcRoleEnum::IfcRoleEnum IfcActorRole::Role() { return IfcRoleEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcActorRole::UserDefinedRole() { return *entity->getArgument(1); } +bool IfcActorRole::hasUserDefinedRole() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } void IfcActorRole::setUserDefinedRole(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcActorRole::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcActorRole::Description() { return *entity->getArgument(2); } +bool IfcActorRole::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcActorRole::Description() const { return *entity->getArgument(2); } void IfcActorRole::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcActorRole::is(Type::Enum v) const { return v == Type::IfcActorRole; } Type::Enum IfcActorRole::type() const { return Type::IfcActorRole; } Type::Enum IfcActorRole::Class() { return Type::IfcActorRole; } -IfcActorRole::IfcActorRole(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcActorRole)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActorRole::IfcActorRole(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcActorRole)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuatorType -IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorType::PredefinedType() { return IfcActuatorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuatorType::IfcActuatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActuatorType::IfcActuatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAddress -bool IfcAddress::hasPurpose() { return !entity->getArgument(0)->isNull(); } -IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddress::Purpose() { return IfcAddressTypeEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -IfcText IfcAddress::Description() { return *entity->getArgument(1); } +bool IfcAddress::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcAddress::Description() const { return *entity->getArgument(1); } void IfcAddress::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAddress::hasUserDefinedPurpose() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcAddress::UserDefinedPurpose() { return *entity->getArgument(2); } +bool IfcAddress::hasUserDefinedPurpose() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } void IfcAddress::setUserDefinedPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPerson::list IfcAddress::OfPerson() { RETURN_INVERSE(IfcPerson) } -IfcOrganization::list IfcAddress::OfOrganization() { RETURN_INVERSE(IfcOrganization) } +IfcPerson::list::ptr IfcAddress::OfPerson() const { return entity->getInverse(Type::IfcPerson)->as(); } +IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return entity->getInverse(Type::IfcOrganization)->as(); } bool IfcAddress::is(Type::Enum v) const { return v == Type::IfcAddress; } Type::Enum IfcAddress::type() const { return Type::IfcAddress; } Type::Enum IfcAddress::Class() { return Type::IfcAddress; } -IfcAddress::IfcAddress(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAddress::IfcAddress(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBoxType -IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxType::PredefinedType() { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalType -IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalType::PredefinedType() { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalType::IfcAirTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirTerminalType::IfcAirTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecoveryType -IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryType::PredefinedType() { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarmType -IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmType::PredefinedType() { return IfcAlarmTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarmType::IfcAlarmType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAlarmType::IfcAlarmType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAngularDimension bool IfcAngularDimension::is(Type::Enum v) const { return v == Type::IfcAngularDimension || IfcDimensionCurveDirectedCallout::is(v); } Type::Enum IfcAngularDimension::type() const { return Type::IfcAngularDimension; } Type::Enum IfcAngularDimension::Class() { return Type::IfcAngularDimension; } -IfcAngularDimension::IfcAngularDimension(IfcAbstractEntityPtr e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAngularDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAngularDimension::IfcAngularDimension(IfcEntities v1_Contents) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcAngularDimension::IfcAngularDimension(IfcAbstractEntity* e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAngularDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAngularDimension::IfcAngularDimension(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 IfcAnnotation -IfcRelContainedInSpatialStructure::list IfcAnnotation::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } bool IfcAnnotation::is(Type::Enum v) const { return v == Type::IfcAnnotation || IfcProduct::is(v); } Type::Enum IfcAnnotation::type() const { return Type::IfcAnnotation; } Type::Enum IfcAnnotation::Class() { return Type::IfcAnnotation; } -IfcAnnotation::IfcAnnotation(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotation::IfcAnnotation(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotation::IfcAnnotation(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationCurveOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillArea -IfcCurve* IfcAnnotationFillArea::OuterBoundary() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcAnnotationFillArea::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,1) } -void IfcAnnotationFillArea::setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcAnnotationFillArea::IfcAnnotationFillArea(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationFillArea::IfcAnnotationFillArea(IfcCurve* v1_OuterBoundary, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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); } +IfcAnnotationFillArea::IfcAnnotationFillArea(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(3)->isNull(); } -IfcPoint* IfcAnnotationFillAreaOccurrence::FillStyleTarget() { return (IfcPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcAnnotationFillAreaOccurrence::GlobalOrLocal() { return IfcGlobalOrLocalEnum::FromString(*entity->getArgument(4)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillAreaOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_FillStyleTarget)); if (v5_GlobalOrLocal) { e->setArgument(4,*v5_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(*v5_GlobalOrLocal)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStyledItem((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcStyledItem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcStyledItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcStyledItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationSurface -IfcGeometricRepresentationItem* IfcAnnotationSurface::Item() { return (IfcGeometricRepresentationItem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcTextureCoordinate* IfcAnnotationSurface::TextureCoordinates() { return (IfcTextureCoordinate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_TextureCoordinates)); entity = e; EntityBuffer::Add(this); } +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); } // 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(IfcAbstractEntityPtr e) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSurfaceOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSymbolOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationTextOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApplication -IfcOrganization* IfcApplication::ApplicationDeveloper() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcOrganization* IfcApplication::ApplicationDeveloper() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcApplication::setApplicationDeveloper(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcApplication::Version() { return *entity->getArgument(1); } +IfcLabel IfcApplication::Version() const { return *entity->getArgument(1); } void IfcApplication::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcLabel IfcApplication::ApplicationFullName() { return *entity->getArgument(2); } +IfcLabel IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } void IfcApplication::setApplicationFullName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcIdentifier IfcApplication::ApplicationIdentifier() { return *entity->getArgument(3); } +IfcIdentifier IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } void IfcApplication::setApplicationIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApplication::is(Type::Enum v) const { return v == Type::IfcApplication; } Type::Enum IfcApplication::type() const { return Type::IfcApplication; } Type::Enum IfcApplication::Class() { return Type::IfcApplication; } -IfcApplication::IfcApplication(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApplication)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApplication::IfcApplication(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApplication)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValue -bool IfcAppliedValue::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcAppliedValue::Name() { return *entity->getArgument(0); } +bool IfcAppliedValue::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcAppliedValue::Name() const { return *entity->getArgument(0); } void IfcAppliedValue::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAppliedValue::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcAppliedValue::Description() { return *entity->getArgument(1); } +bool IfcAppliedValue::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcAppliedValue::Description() const { return *entity->getArgument(1); } void IfcAppliedValue::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAppliedValue::hasAppliedValue() { return !entity->getArgument(2)->isNull(); } -IfcAppliedValueSelect IfcAppliedValue::AppliedValue() { return *entity->getArgument(2); } +bool IfcAppliedValue::hasAppliedValue() const { return !entity->getArgument(2)->isNull(); } +IfcAppliedValueSelect IfcAppliedValue::AppliedValue() const { return *entity->getArgument(2); } void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcAppliedValue::hasUnitBasis() { return !entity->getArgument(3)->isNull(); } -IfcMeasureWithUnit* IfcAppliedValue::UnitBasis() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcDateTimeSelect IfcAppliedValue::ApplicableDate() { return *entity->getArgument(4); } +bool IfcAppliedValue::hasApplicableDate() const { return !entity->getArgument(4)->isNull(); } +IfcDateTimeSelect IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } void IfcAppliedValue::setApplicableDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcAppliedValue::hasFixedUntilDate() { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect IfcAppliedValue::FixedUntilDate() { return *entity->getArgument(5); } +bool IfcAppliedValue::hasFixedUntilDate() const { return !entity->getArgument(5)->isNull(); } +IfcDateTimeSelect IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } void IfcAppliedValue::setFixedUntilDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcReferencesValueDocument::list IfcAppliedValue::ValuesReferenced() { RETURN_INVERSE(IfcReferencesValueDocument) } -IfcAppliedValueRelationship::list IfcAppliedValue::ValueOfComponents() { RETURN_INVERSE(IfcAppliedValueRelationship) } -IfcAppliedValueRelationship::list IfcAppliedValue::IsComponentIn() { RETURN_INVERSE(IfcAppliedValueRelationship) } +IfcReferencesValueDocument::list::ptr IfcAppliedValue::ValuesReferenced() const { return entity->getInverse(Type::IfcReferencesValueDocument)->as(); } +IfcAppliedValueRelationship::list::ptr IfcAppliedValue::ValueOfComponents() const { return entity->getInverse(Type::IfcAppliedValueRelationship)->as(); } +IfcAppliedValueRelationship::list::ptr IfcAppliedValue::IsComponentIn() const { return entity->getInverse(Type::IfcAppliedValueRelationship)->as(); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAppliedValue::IfcAppliedValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcAppliedValue::IfcAppliedValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValueRelationship -IfcAppliedValue* IfcAppliedValueRelationship::ComponentOfTotal() { return (IfcAppliedValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcAppliedValueRelationship::Components() { RETURN_AS_LIST(IfcAppliedValue,1) } -void IfcAppliedValueRelationship::setComponents(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValueRelationship::ArithmeticOperator() { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(2)); } +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()); } +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() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcAppliedValueRelationship::Name() { return *entity->getArgument(3); } +bool IfcAppliedValueRelationship::hasName() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcAppliedValueRelationship::Name() const { return *entity->getArgument(3); } void IfcAppliedValueRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcAppliedValueRelationship::hasDescription() { return !entity->getArgument(4)->isNull(); } -IfcText IfcAppliedValueRelationship::Description() { return *entity->getArgument(4); } +bool IfcAppliedValueRelationship::hasDescription() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcAppliedValueRelationship::Description() const { return *entity->getArgument(4); } void IfcAppliedValueRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcAppliedValueRelationship::is(Type::Enum v) const { return v == Type::IfcAppliedValueRelationship; } Type::Enum IfcAppliedValueRelationship::type() const { return Type::IfcAppliedValueRelationship; } Type::Enum IfcAppliedValueRelationship::Class() { return Type::IfcAppliedValueRelationship; } -IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValueRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAppliedValue* v1_ComponentOfTotal, SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ComponentOfTotal)); e->setArgument(1,(v2_Components)->generalize()); e->setArgument(2,v3_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(v3_ArithmeticOperator)); if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValueRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ComponentOfTotal)); e->setArgument(1,(v2_Components)->generalize()); e->setArgument(2,v3_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(v3_ArithmeticOperator)); if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApproval -bool IfcApproval::hasDescription() { return !entity->getArgument(0)->isNull(); } -IfcText IfcApproval::Description() { return *entity->getArgument(0); } +bool IfcApproval::hasDescription() const { return !entity->getArgument(0)->isNull(); } +IfcText IfcApproval::Description() const { return *entity->getArgument(0); } void IfcApproval::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcDateTimeSelect IfcApproval::ApprovalDateTime() { return *entity->getArgument(1); } +IfcDateTimeSelect IfcApproval::ApprovalDateTime() const { return *entity->getArgument(1); } void IfcApproval::setApprovalDateTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcApproval::hasApprovalStatus() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcApproval::ApprovalStatus() { return *entity->getArgument(2); } +bool IfcApproval::hasApprovalStatus() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcApproval::ApprovalStatus() const { return *entity->getArgument(2); } void IfcApproval::setApprovalStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcApproval::hasApprovalLevel() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcApproval::ApprovalLevel() { return *entity->getArgument(3); } +bool IfcApproval::hasApprovalLevel() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcApproval::ApprovalLevel() const { return *entity->getArgument(3); } void IfcApproval::setApprovalLevel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcApproval::hasApprovalQualifier() { return !entity->getArgument(4)->isNull(); } -IfcText IfcApproval::ApprovalQualifier() { return *entity->getArgument(4); } +bool IfcApproval::hasApprovalQualifier() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcApproval::ApprovalQualifier() const { return *entity->getArgument(4); } void IfcApproval::setApprovalQualifier(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcLabel IfcApproval::Name() { return *entity->getArgument(5); } +IfcLabel IfcApproval::Name() const { return *entity->getArgument(5); } void IfcApproval::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcIdentifier IfcApproval::Identifier() { return *entity->getArgument(6); } +IfcIdentifier IfcApproval::Identifier() const { return *entity->getArgument(6); } void IfcApproval::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcApprovalActorRelationship::list IfcApproval::Actors() { RETURN_INVERSE(IfcApprovalActorRelationship) } -IfcApprovalRelationship::list IfcApproval::IsRelatedWith() { RETURN_INVERSE(IfcApprovalRelationship) } -IfcApprovalRelationship::list IfcApproval::Relates() { RETURN_INVERSE(IfcApprovalRelationship) } +IfcApprovalActorRelationship::list::ptr IfcApproval::Actors() const { return entity->getInverse(Type::IfcApprovalActorRelationship)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return entity->getInverse(Type::IfcApprovalRelationship)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return entity->getInverse(Type::IfcApprovalRelationship)->as(); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApproval::IfcApproval(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcApproval::IfcApproval(boost::optional< IfcText > v1_Description, IfcDateTimeSelect v2_ApprovalDateTime, boost::optional< IfcLabel > v3_ApprovalStatus, boost::optional< IfcLabel > v4_ApprovalLevel, boost::optional< IfcText > v5_ApprovalQualifier, IfcLabel v6_Name, IfcIdentifier v7_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Description) { e->setArgument(0,(*v1_Description)); } else { e->setArgument(0); } e->setArgument(1,(v2_ApprovalDateTime)); if (v3_ApprovalStatus) { e->setArgument(2,(*v3_ApprovalStatus)); } else { e->setArgument(2); } if (v4_ApprovalLevel) { e->setArgument(3,(*v4_ApprovalLevel)); } else { e->setArgument(3); } if (v5_ApprovalQualifier) { e->setArgument(4,(*v5_ApprovalQualifier)); } else { e->setArgument(4); } e->setArgument(5,(v6_Name)); e->setArgument(6,(v7_Identifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalActorRelationship -IfcActorSelect IfcApprovalActorRelationship::Actor() { return *entity->getArgument(0); } +IfcActorSelect IfcApprovalActorRelationship::Actor() const { return *entity->getArgument(0); } void IfcApprovalActorRelationship::setActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcApproval* IfcApprovalActorRelationship::Approval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcApproval* IfcApprovalActorRelationship::Approval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcApprovalActorRelationship::setApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcActorRole* IfcApprovalActorRelationship::Role() { return (IfcActorRole*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalActorRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalActorRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcActorSelect v1_Actor, IfcApproval* v2_Approval, IfcActorRole* v3_Role) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Actor)); e->setArgument(1,(v2_Approval)); e->setArgument(2,(v3_Role)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalPropertyRelationship -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcApprovalPropertyRelationship::ApprovedProperties() { RETURN_AS_LIST(IfcProperty,0) } -void IfcApprovalPropertyRelationship::setApprovedProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcApproval* IfcApprovalPropertyRelationship::Approval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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()); } +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); } 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; } -IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalPropertyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v1_ApprovedProperties, IfcApproval* v2_Approval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApprovedProperties)->generalize()); e->setArgument(1,(v2_Approval)); entity = e; EntityBuffer::Add(this); } +IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalPropertyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(IfcTemplatedEntityList< IfcProperty >::ptr v1_ApprovedProperties, IfcApproval* v2_Approval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApprovedProperties)->generalize()); e->setArgument(1,(v2_Approval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalRelationship -IfcApproval* IfcApprovalRelationship::RelatedApproval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcApproval* IfcApprovalRelationship::RelatingApproval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcText IfcApprovalRelationship::Description() { return *entity->getArgument(2); } +bool IfcApprovalRelationship::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcApprovalRelationship::Description() const { return *entity->getArgument(2); } void IfcApprovalRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcApprovalRelationship::Name() { return *entity->getArgument(3); } +IfcLabel IfcApprovalRelationship::Name() const { return *entity->getArgument(3); } void IfcApprovalRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::type() const { return Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::Class() { return Type::IfcApprovalRelationship; } -IfcApprovalRelationship::IfcApprovalRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApprovalRelationship::IfcApprovalRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcApprovalRelationship::IfcApprovalRelationship(IfcApproval* v1_RelatedApproval, IfcApproval* v2_RelatingApproval, boost::optional< IfcText > v3_Description, IfcLabel v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatedApproval)); e->setArgument(1,(v2_RelatingApproval)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryClosedProfileDef -IfcCurve* IfcArbitraryClosedProfileDef::OuterCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcArbitraryClosedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryClosedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryOpenProfileDef -IfcBoundedCurve* IfcArbitraryOpenProfileDef::Curve() { return (IfcBoundedCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryProfileDefWithVoids -SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcArbitraryProfileDefWithVoids::InnerCurves() { RETURN_AS_LIST(IfcCurve,3) } -void IfcArbitraryProfileDefWithVoids::setInnerCurves(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +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()); } 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; } -IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEntityPtr e) : IfcArbitraryClosedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcArbitraryProfileDefWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEntity* e) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryProfileDefWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsset -IfcIdentifier IfcAsset::AssetID() { return *entity->getArgument(5); } +IfcIdentifier IfcAsset::AssetID() const { return *entity->getArgument(5); } void IfcAsset::setAssetID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcCostValue* IfcAsset::OriginalValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +IfcCostValue* IfcAsset::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcAsset::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcCostValue* IfcAsset::CurrentValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +IfcCostValue* IfcAsset::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } void IfcAsset::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcCostValue* IfcAsset::TotalReplacementCost() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +IfcCostValue* IfcAsset::TotalReplacementCost() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcAsset::setTotalReplacementCost(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcActorSelect IfcAsset::Owner() { return *entity->getArgument(9); } +IfcActorSelect IfcAsset::Owner() const { return *entity->getArgument(9); } void IfcAsset::setOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcActorSelect IfcAsset::User() { return *entity->getArgument(10); } +IfcActorSelect IfcAsset::User() const { return *entity->getArgument(10); } void IfcAsset::setUser(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPerson* IfcAsset::ResponsiblePerson() { return (IfcPerson*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +IfcPerson* IfcAsset::ResponsiblePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } void IfcAsset::setResponsiblePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcCalendarDate* IfcAsset::IncorporationDate() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(12))); } +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); } -IfcCostValue* IfcAsset::DepreciatedValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(13))); } +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); } 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(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsset::IfcAsset(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect v10_Owner, IfcActorSelect v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_AssetID)); e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); e->setArgument(9,(v10_Owner)); e->setArgument(10,(v11_User)); e->setArgument(11,(v12_ResponsiblePerson)); e->setArgument(12,(v13_IncorporationDate)); e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } +IfcAsset::IfcAsset(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAsset::IfcAsset(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect v10_Owner, IfcActorSelect v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_AssetID)); e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); e->setArgument(9,(v10_Owner)); e->setArgument(10,(v11_User)); e->setArgument(11,(v12_ResponsiblePerson)); e->setArgument(12,(v13_IncorporationDate)); e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsymmetricIShapeProfileDef -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeWidth() { return *entity->getArgument(8); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeThickness() { return *entity->getArgument(9); } +bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() { return *entity->getArgument(10); } +bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcAsymmetricIShapeProfileDef::hasCentreOfGravityInY() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() { return *entity->getArgument(11); } +bool IfcAsymmetricIShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } void IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcAsymmetricIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcAsymmetricIShapeProfileDef || IfcIShapeProfileDef::is(v); } Type::Enum IfcAsymmetricIShapeProfileDef::type() const { return Type::IfcAsymmetricIShapeProfileDef; } Type::Enum IfcAsymmetricIShapeProfileDef::Class() { return Type::IfcAsymmetricIShapeProfileDef; } -IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcAbstractEntityPtr e) : IfcIShapeProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcPositiveLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY) : IfcIShapeProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcAbstractEntity* e) : IfcIShapeProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcPositiveLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY) : IfcIShapeProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis1Placement -bool IfcAxis1Placement::hasAxis() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis1Placement::Axis() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_Axis)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcAxis2Placement2D -bool IfcAxis2Placement2D::hasRefDirection() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement2D::RefDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_RefDirection)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcAxis2Placement3D -bool IfcAxis2Placement3D::hasAxis() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement3D::Axis() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcDirection* IfcAxis2Placement3D::RefDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcBSplineCurve -int IfcBSplineCurve::Degree() { return *entity->getArgument(0); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcBSplineCurve::ControlPointsList() { RETURN_AS_LIST(IfcCartesianPoint,1) } -void IfcBSplineCurve::setControlPointsList(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcBSplineCurveForm::IfcBSplineCurveForm IfcBSplineCurve::CurveForm() { return IfcBSplineCurveForm::FromString(*entity->getArgument(2)); } +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()); } +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)); } -bool IfcBSplineCurve::ClosedCurve() { return *entity->getArgument(3); } +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); } -bool IfcBSplineCurve::SelfIntersect() { return *entity->getArgument(4); } +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); } 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; } -IfcBSplineCurve::IfcBSplineCurve(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcBSplineCurve::IfcBSplineCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeam 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeam::IfcBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBeam::IfcBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamType -IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamType::PredefinedType() { return IfcBeamTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamType::IfcBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBeamType::IfcBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBezierCurve bool IfcBezierCurve::is(Type::Enum v) const { return v == Type::IfcBezierCurve || IfcBSplineCurve::is(v); } Type::Enum IfcBezierCurve::type() const { return Type::IfcBezierCurve; } Type::Enum IfcBezierCurve::Class() { return Type::IfcBezierCurve; } -IfcBezierCurve::IfcBezierCurve(IfcAbstractEntityPtr e) : IfcBSplineCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBezierCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBezierCurve::IfcBezierCurve(int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBSplineCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcBezierCurve::IfcBezierCurve(IfcAbstractEntity* e) : IfcBSplineCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBezierCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBezierCurve::IfcBezierCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBSplineCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlobTexture -IfcIdentifier IfcBlobTexture::RasterFormat() { return *entity->getArgument(4); } +IfcIdentifier IfcBlobTexture::RasterFormat() const { return *entity->getArgument(4); } void IfcBlobTexture::setRasterFormat(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBlobTexture::RasterCode() { return *entity->getArgument(5); } +bool IfcBlobTexture::RasterCode() const { return *entity->getArgument(5); } void IfcBlobTexture::setRasterCode(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBlobTexture::is(Type::Enum v) const { return v == Type::IfcBlobTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcBlobTexture::type() const { return Type::IfcBlobTexture; } Type::Enum IfcBlobTexture::Class() { return Type::IfcBlobTexture; } -IfcBlobTexture::IfcBlobTexture(IfcAbstractEntityPtr e) : IfcSurfaceTexture((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_RasterFormat)); e->setArgument(5,(v6_RasterCode)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlock -IfcPositiveLengthMeasure IfcBlock::XLength() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcBlock::XLength() const { return *entity->getArgument(1); } void IfcBlock::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBlock::YLength() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcBlock::YLength() const { return *entity->getArgument(2); } void IfcBlock::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBlock::ZLength() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcBlock::ZLength() const { return *entity->getArgument(3); } void IfcBlock::setZLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBlock::is(Type::Enum v) const { return v == Type::IfcBlock || IfcCsgPrimitive3D::is(v); } Type::Enum IfcBlock::type() const { return Type::IfcBlock; } Type::Enum IfcBlock::Class() { return Type::IfcBlock; } -IfcBlock::IfcBlock(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBlock)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } +IfcBlock::IfcBlock(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlock)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoilerType -IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerType::PredefinedType() { return IfcBoilerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoilerType::IfcBoilerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoilerType::IfcBoilerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanClippingResult bool IfcBooleanClippingResult::is(Type::Enum v) const { return v == Type::IfcBooleanClippingResult || IfcBooleanResult::is(v); } Type::Enum IfcBooleanClippingResult::type() const { return Type::IfcBooleanClippingResult; } Type::Enum IfcBooleanClippingResult::Class() { return Type::IfcBooleanClippingResult; } -IfcBooleanClippingResult::IfcBooleanClippingResult(IfcAbstractEntityPtr e) : IfcBooleanResult((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBooleanClippingResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanClippingResult::IfcBooleanClippingResult(IfcAbstractEntity* e) : IfcBooleanResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanClippingResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanResult -IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } +IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() const { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } void IfcBooleanResult::setOperator(IfcBooleanOperator::IfcBooleanOperator v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcBooleanOperator::ToString(v)); } -IfcBooleanOperand IfcBooleanResult::FirstOperand() { return *entity->getArgument(1); } +IfcBooleanOperand IfcBooleanResult::FirstOperand() const { return *entity->getArgument(1); } void IfcBooleanResult::setFirstOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBooleanOperand IfcBooleanResult::SecondOperand() { return *entity->getArgument(2); } +IfcBooleanOperand IfcBooleanResult::SecondOperand() const { return *entity->getArgument(2); } void IfcBooleanResult::setSecondOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBooleanResult::is(Type::Enum v) const { return v == Type::IfcBooleanResult || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBooleanResult::type() const { return Type::IfcBooleanResult; } Type::Enum IfcBooleanResult::Class() { return Type::IfcBooleanResult; } -IfcBooleanResult::IfcBooleanResult(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBooleanResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanResult::IfcBooleanResult(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCondition -bool IfcBoundaryCondition::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcBoundaryCondition::Name() { return *entity->getArgument(0); } +bool IfcBoundaryCondition::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } void IfcBoundaryCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcBoundaryCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::type() const { return Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::Class() { return Type::IfcBoundaryCondition; } -IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcBoundaryCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcBoundaryCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryEdgeCondition -bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthX() { return !entity->getArgument(1)->isNull(); } -IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() { return *entity->getArgument(1); } +bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthX() const { return !entity->getArgument(1)->isNull(); } +IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { return *entity->getArgument(1); } void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(IfcModulusOfLinearSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthY() { return !entity->getArgument(2)->isNull(); } -IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() { return *entity->getArgument(2); } +bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthY() const { return !entity->getArgument(2)->isNull(); } +IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { return *entity->getArgument(2); } void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(IfcModulusOfLinearSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthZ() { return !entity->getArgument(3)->isNull(); } -IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() { return *entity->getArgument(3); } +bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthZ() const { return !entity->getArgument(3)->isNull(); } +IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { return *entity->getArgument(3); } void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(IfcModulusOfLinearSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() { return !entity->getArgument(4)->isNull(); } -IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() { return *entity->getArgument(4); } +bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !entity->getArgument(4)->isNull(); } +IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() { return !entity->getArgument(5)->isNull(); } -IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() { return *entity->getArgument(5); } +bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !entity->getArgument(5)->isNull(); } +IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() { return !entity->getArgument(6)->isNull(); } -IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() { return *entity->getArgument(6); } +bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !entity->getArgument(6)->isNull(); } +IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v2_LinearStiffnessByLengthX, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v3_LinearStiffnessByLengthY, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v4_LinearStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByLengthX) { e->setArgument(1,(*v2_LinearStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByLengthY) { e->setArgument(2,(*v3_LinearStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByLengthZ) { e->setArgument(3,(*v4_LinearStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v2_LinearStiffnessByLengthX, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v3_LinearStiffnessByLengthY, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v4_LinearStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByLengthX) { e->setArgument(1,(*v2_LinearStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByLengthY) { e->setArgument(2,(*v3_LinearStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByLengthZ) { e->setArgument(3,(*v4_LinearStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryFaceCondition -bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaX() { return !entity->getArgument(1)->isNull(); } -IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaX() { return *entity->getArgument(1); } +bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaX() const { return !entity->getArgument(1)->isNull(); } +IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { return *entity->getArgument(1); } void IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(IfcModulusOfSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaY() { return !entity->getArgument(2)->isNull(); } -IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaY() { return *entity->getArgument(2); } +bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaY() const { return !entity->getArgument(2)->isNull(); } +IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { return *entity->getArgument(2); } void IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(IfcModulusOfSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaZ() { return !entity->getArgument(3)->isNull(); } -IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() { return *entity->getArgument(3); } +bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaZ() const { return !entity->getArgument(3)->isNull(); } +IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { return *entity->getArgument(3); } void IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(IfcModulusOfSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionMeasure > v2_LinearStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionMeasure > v3_LinearStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionMeasure > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByAreaX) { e->setArgument(1,(*v2_LinearStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByAreaY) { e->setArgument(2,(*v3_LinearStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByAreaZ) { e->setArgument(3,(*v4_LinearStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionMeasure > v2_LinearStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionMeasure > v3_LinearStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionMeasure > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByAreaX) { e->setArgument(1,(*v2_LinearStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByAreaY) { e->setArgument(2,(*v3_LinearStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByAreaZ) { e->setArgument(3,(*v4_LinearStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeCondition -bool IfcBoundaryNodeCondition::hasLinearStiffnessX() { return !entity->getArgument(1)->isNull(); } -IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessX() { return *entity->getArgument(1); } +bool IfcBoundaryNodeCondition::hasLinearStiffnessX() const { return !entity->getArgument(1)->isNull(); } +IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessX() const { return *entity->getArgument(1); } void IfcBoundaryNodeCondition::setLinearStiffnessX(IfcLinearStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryNodeCondition::hasLinearStiffnessY() { return !entity->getArgument(2)->isNull(); } -IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessY() { return *entity->getArgument(2); } +bool IfcBoundaryNodeCondition::hasLinearStiffnessY() const { return !entity->getArgument(2)->isNull(); } +IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessY() const { return *entity->getArgument(2); } void IfcBoundaryNodeCondition::setLinearStiffnessY(IfcLinearStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryNodeCondition::hasLinearStiffnessZ() { return !entity->getArgument(3)->isNull(); } -IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessZ() { return *entity->getArgument(3); } +bool IfcBoundaryNodeCondition::hasLinearStiffnessZ() const { return !entity->getArgument(3)->isNull(); } +IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessZ() const { return *entity->getArgument(3); } void IfcBoundaryNodeCondition::setLinearStiffnessZ(IfcLinearStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() { return !entity->getArgument(4)->isNull(); } -IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessX() { return *entity->getArgument(4); } +bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !entity->getArgument(4)->isNull(); } +IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } void IfcBoundaryNodeCondition::setRotationalStiffnessX(IfcRotationalStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() { return !entity->getArgument(5)->isNull(); } -IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessY() { return *entity->getArgument(5); } +bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !entity->getArgument(5)->isNull(); } +IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } void IfcBoundaryNodeCondition::setRotationalStiffnessY(IfcRotationalStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() { return !entity->getArgument(6)->isNull(); } -IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessZ() { return *entity->getArgument(6); } +bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !entity->getArgument(6)->isNull(); } +IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } void IfcBoundaryNodeCondition::setRotationalStiffnessZ(IfcRotationalStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeConditionWarping -bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() { return !entity->getArgument(7)->isNull(); } -IfcWarpingMomentMeasure IfcBoundaryNodeConditionWarping::WarpingStiffness() { return *entity->getArgument(7); } +bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !entity->getArgument(7)->isNull(); } +IfcWarpingMomentMeasure IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } void IfcBoundaryNodeConditionWarping::setWarpingStiffness(IfcWarpingMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryNodeCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcAbstractEntity* e) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedCurve bool IfcBoundedCurve::is(Type::Enum v) const { return v == Type::IfcBoundedCurve || IfcCurve::is(v); } Type::Enum IfcBoundedCurve::type() const { return Type::IfcBoundedCurve; } Type::Enum IfcBoundedCurve::Class() { return Type::IfcBoundedCurve; } -IfcBoundedCurve::IfcBoundedCurve(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundedCurve::IfcBoundedCurve() : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcBoundedCurve::IfcBoundedCurve(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundedCurve::IfcBoundedCurve() : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedSurface bool IfcBoundedSurface::is(Type::Enum v) const { return v == Type::IfcBoundedSurface || IfcSurface::is(v); } Type::Enum IfcBoundedSurface::type() const { return Type::IfcBoundedSurface; } Type::Enum IfcBoundedSurface::Class() { return Type::IfcBoundedSurface; } -IfcBoundedSurface::IfcBoundedSurface(IfcAbstractEntityPtr e) : IfcSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcBoundedSurface::IfcBoundedSurface(IfcAbstractEntity* e) : IfcSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundingBox -IfcCartesianPoint* IfcBoundingBox::Corner() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCartesianPoint* IfcBoundingBox::Corner() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcBoundingBox::setCorner(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcBoundingBox::XDim() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcBoundingBox::XDim() const { return *entity->getArgument(1); } void IfcBoundingBox::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBoundingBox::YDim() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcBoundingBox::YDim() const { return *entity->getArgument(2); } void IfcBoundingBox::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBoundingBox::ZDim() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } void IfcBoundingBox::setZDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundingBox::is(Type::Enum v) const { return v == Type::IfcBoundingBox || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBoundingBox::type() const { return Type::IfcBoundingBox; } Type::Enum IfcBoundingBox::Class() { return Type::IfcBoundingBox; } -IfcBoundingBox::IfcBoundingBox(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundingBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } +IfcBoundingBox::IfcBoundingBox(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundingBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoxedHalfSpace -IfcBoundingBox* IfcBoxedHalfSpace::Enclosure() { return (IfcBoundingBox*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcAbstractEntityPtr e) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoxedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)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); } +IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoxedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfRefHeight() { return *entity->getArgument(9); } +bool IfcBuilding::hasElevationOfRefHeight() const { return !entity->getArgument(9)->isNull(); } +IfcLengthMeasure IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } void IfcBuilding::setElevationOfRefHeight(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcBuilding::hasElevationOfTerrain() { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfTerrain() { return *entity->getArgument(10); } +bool IfcBuilding::hasElevationOfTerrain() const { return !entity->getArgument(10)->isNull(); } +IfcLengthMeasure IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } void IfcBuilding::setElevationOfTerrain(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcBuilding::hasBuildingAddress() { return !entity->getArgument(11)->isNull(); } -IfcPostalAddress* IfcBuilding::BuildingAddress() { return (IfcPostalAddress*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuilding::IfcBuilding(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuilding::IfcBuilding(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElement::IfcBuildingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElement::IfcBuildingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementComponent::IfcBuildingElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementComponent::IfcBuildingElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcBuildingElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPart::IfcBuildingElementPart(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementPart::IfcBuildingElementPart(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxy -bool IfcBuildingElementProxy::hasCompositionType() { return !entity->getArgument(8)->isNull(); } -IfcElementCompositionEnum::IfcElementCompositionEnum IfcBuildingElementProxy::CompositionType() { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxy::IfcBuildingElementProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementProxy::IfcBuildingElementProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxyType -IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyType::PredefinedType() { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementType::IfcBuildingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementType::IfcBuildingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingStorey -bool IfcBuildingStorey::hasElevation() { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuildingStorey::Elevation() { return *entity->getArgument(9); } +bool IfcBuildingStorey::hasElevation() const { return !entity->getArgument(9)->isNull(); } +IfcLengthMeasure IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } void IfcBuildingStorey::setElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingStorey::IfcBuildingStorey(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingStorey::IfcBuildingStorey(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCShapeProfileDef -IfcPositiveLengthMeasure IfcCShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcCShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Width() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } void IfcCShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::WallThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } void IfcCShapeProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Girth() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } void IfcCShapeProfileDef::setGirth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCShapeProfileDef::hasInternalFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::InternalFilletRadius() { return *entity->getArgument(7); } +bool IfcCShapeProfileDef::hasInternalFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } void IfcCShapeProfileDef::setInternalFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcCShapeProfileDef::hasCentreOfGravityInX() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::CentreOfGravityInX() { return *entity->getArgument(8); } +bool IfcCShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(8); } void IfcCShapeProfileDef::setCentreOfGravityInX(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcPositiveLengthMeasure > v8_InternalFilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } if (v9_CentreOfGravityInX) { e->setArgument(8,(*v9_CentreOfGravityInX)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCShapeProfileDef::IfcCShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcPositiveLengthMeasure > v8_InternalFilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } if (v9_CentreOfGravityInX) { e->setArgument(8,(*v9_CentreOfGravityInX)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFittingType -IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingType::PredefinedType() { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegmentType -IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentType::PredefinedType() { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegmentType -IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentType::PredefinedType() { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegmentType::IfcCableSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableSegmentType::IfcCableSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCalendarDate -IfcDayInMonthNumber IfcCalendarDate::DayComponent() { return *entity->getArgument(0); } +IfcDayInMonthNumber IfcCalendarDate::DayComponent() const { return *entity->getArgument(0); } void IfcCalendarDate::setDayComponent(IfcDayInMonthNumber v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcMonthInYearNumber IfcCalendarDate::MonthComponent() { return *entity->getArgument(1); } +IfcMonthInYearNumber IfcCalendarDate::MonthComponent() const { return *entity->getArgument(1); } void IfcCalendarDate::setMonthComponent(IfcMonthInYearNumber v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcYearNumber IfcCalendarDate::YearComponent() { return *entity->getArgument(2); } +IfcYearNumber IfcCalendarDate::YearComponent() const { return *entity->getArgument(2); } void IfcCalendarDate::setYearComponent(IfcYearNumber v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCalendarDate::is(Type::Enum v) const { return v == Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::type() const { return Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::Class() { return Type::IfcCalendarDate; } -IfcCalendarDate::IfcCalendarDate(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCalendarDate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCalendarDate::IfcCalendarDate(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCalendarDate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCalendarDate::IfcCalendarDate(IfcDayInMonthNumber v1_DayComponent, IfcMonthInYearNumber v2_MonthComponent, IfcYearNumber v3_YearComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DayComponent)); e->setArgument(1,(v2_MonthComponent)); e->setArgument(2,(v3_YearComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPoint -std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() { return *entity->getArgument(0); } +std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } void IfcCartesianPoint::setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCartesianPoint::is(Type::Enum v) const { return v == Type::IfcCartesianPoint || IfcPoint::is(v); } Type::Enum IfcCartesianPoint::type() const { return Type::IfcCartesianPoint; } Type::Enum IfcCartesianPoint::Class() { return Type::IfcCartesianPoint; } -IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntityPtr e) : IfcPoint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCartesianPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianPoint::IfcCartesianPoint(std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCartesianPoint::IfcCartesianPoint(std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator -bool IfcCartesianTransformationOperator::hasAxis1() { return !entity->getArgument(0)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis1() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis2() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -IfcCartesianPoint* IfcCartesianTransformationOperator::LocalOrigin() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -double IfcCartesianTransformationOperator::Scale() { return *entity->getArgument(3); } +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); } 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(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -bool IfcCartesianTransformationOperator2DnonUniform::hasScale2() { return !entity->getArgument(4)->isNull(); } -double IfcCartesianTransformationOperator2DnonUniform::Scale2() { return *entity->getArgument(4); } +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); } 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator2D((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCartesianTransformationOperator3D -bool IfcCartesianTransformationOperator3D::hasAxis3() { return !entity->getArgument(4)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator3D::Axis3() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -bool IfcCartesianTransformationOperator3DnonUniform::hasScale2() { return !entity->getArgument(5)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale2() { return *entity->getArgument(5); } +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() { return !entity->getArgument(6)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale3() { return *entity->getArgument(6); } +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); } 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator3D((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCenterLineProfileDef -IfcPositiveLengthMeasure IfcCenterLineProfileDef::Thickness() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } void IfcCenterLineProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCenterLineProfileDef::is(Type::Enum v) const { return v == Type::IfcCenterLineProfileDef || IfcArbitraryOpenProfileDef::is(v); } Type::Enum IfcCenterLineProfileDef::type() const { return Type::IfcCenterLineProfileDef; } Type::Enum IfcCenterLineProfileDef::Class() { return Type::IfcCenterLineProfileDef; } -IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntityPtr e) : IfcArbitraryOpenProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCenterLineProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } +IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntity* e) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCenterLineProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChamferEdgeFeature -bool IfcChamferEdgeFeature::hasWidth() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcChamferEdgeFeature::Width() { return *entity->getArgument(9); } +bool IfcChamferEdgeFeature::hasWidth() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcChamferEdgeFeature::Width() const { return *entity->getArgument(9); } void IfcChamferEdgeFeature::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcChamferEdgeFeature::hasHeight() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcChamferEdgeFeature::Height() { return *entity->getArgument(10); } +bool IfcChamferEdgeFeature::hasHeight() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcChamferEdgeFeature::Height() const { return *entity->getArgument(10); } void IfcChamferEdgeFeature::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcEdgeFeature((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcChamferEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChamferEdgeFeature::IfcChamferEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Width, boost::optional< IfcPositiveLengthMeasure > v11_Height) : IfcEdgeFeature((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcEdgeFeature((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChamferEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcChamferEdgeFeature::IfcChamferEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Width, boost::optional< IfcPositiveLengthMeasure > v11_Height) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Width) { e->setArgument(9,(*v10_Width)); } else { e->setArgument(9); } if (v11_Height) { e->setArgument(10,(*v11_Height)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChillerType -IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerType::PredefinedType() { return IfcChillerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChillerType::IfcChillerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcChillerType::IfcChillerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircle -IfcPositiveLengthMeasure IfcCircle::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcCircle::Radius() const { return *entity->getArgument(1); } void IfcCircle::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCircle::is(Type::Enum v) const { return v == Type::IfcCircle || IfcConic::is(v); } Type::Enum IfcCircle::type() const { return Type::IfcCircle; } Type::Enum IfcCircle::Class() { return Type::IfcCircle; } -IfcCircle::IfcCircle(IfcAbstractEntityPtr e) : IfcConic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCircle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircle::IfcCircle(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcConic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircle::IfcCircle(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCircle::IfcCircle(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleHollowProfileDef -IfcPositiveLengthMeasure IfcCircleHollowProfileDef::WallThickness() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } void IfcCircleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcCircleProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcCircleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleProfileDef -IfcPositiveLengthMeasure IfcCircleProfileDef::Radius() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } void IfcCircleProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassification -IfcLabel IfcClassification::Source() { return *entity->getArgument(0); } +IfcLabel IfcClassification::Source() const { return *entity->getArgument(0); } void IfcClassification::setSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcClassification::Edition() { return *entity->getArgument(1); } +IfcLabel IfcClassification::Edition() const { return *entity->getArgument(1); } void IfcClassification::setEdition(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcClassification::hasEditionDate() { return !entity->getArgument(2)->isNull(); } -IfcCalendarDate* IfcClassification::EditionDate() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +bool IfcClassification::hasEditionDate() const { return !entity->getArgument(2)->isNull(); } +IfcCalendarDate* IfcClassification::EditionDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcClassification::setEditionDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcClassification::Name() { return *entity->getArgument(3); } +IfcLabel IfcClassification::Name() const { return *entity->getArgument(3); } void IfcClassification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcClassificationItem::list IfcClassification::Contains() { RETURN_INVERSE(IfcClassificationItem) } +IfcClassificationItem::list::ptr IfcClassification::Contains() const { return entity->getInverse(Type::IfcClassificationItem)->as(); } bool IfcClassification::is(Type::Enum v) const { return v == Type::IfcClassification; } Type::Enum IfcClassification::type() const { return Type::IfcClassification; } Type::Enum IfcClassification::Class() { return Type::IfcClassification; } -IfcClassification::IfcClassification(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassification::IfcClassification(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcClassification::IfcClassification(IfcLabel v1_Source, IfcLabel v2_Edition, IfcCalendarDate* v3_EditionDate, IfcLabel v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Source)); e->setArgument(1,(v2_Edition)); e->setArgument(2,(v3_EditionDate)); e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationItem -IfcClassificationNotationFacet* IfcClassificationItem::Notation() { return (IfcClassificationNotationFacet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcClassification* IfcClassificationItem::ItemOf() { return (IfcClassification*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +bool IfcClassificationItem::hasItemOf() const { return !entity->getArgument(1)->isNull(); } +IfcClassification* IfcClassificationItem::ItemOf() const { return (IfcClassification*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcClassificationItem::setItemOf(IfcClassification* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcLabel IfcClassificationItem::Title() { return *entity->getArgument(2); } +IfcLabel IfcClassificationItem::Title() const { return *entity->getArgument(2); } void IfcClassificationItem::setTitle(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcClassificationItemRelationship::list IfcClassificationItem::IsClassifiedItemIn() { RETURN_INVERSE(IfcClassificationItemRelationship) } -IfcClassificationItemRelationship::list IfcClassificationItem::IsClassifyingItemIn() { RETURN_INVERSE(IfcClassificationItemRelationship) } +IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifiedItemIn() const { return entity->getInverse(Type::IfcClassificationItemRelationship)->as(); } +IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifyingItemIn() const { return entity->getInverse(Type::IfcClassificationItemRelationship)->as(); } bool IfcClassificationItem::is(Type::Enum v) const { return v == Type::IfcClassificationItem; } Type::Enum IfcClassificationItem::type() const { return Type::IfcClassificationItem; } Type::Enum IfcClassificationItem::Class() { return Type::IfcClassificationItem; } -IfcClassificationItem::IfcClassificationItem(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassificationItem::IfcClassificationItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcClassificationItem::IfcClassificationItem(IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, IfcLabel v3_Title) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Notation)); e->setArgument(1,(v2_ItemOf)); e->setArgument(2,(v3_Title)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationItemRelationship -IfcClassificationItem* IfcClassificationItemRelationship::RelatingItem() { return (IfcClassificationItem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > IfcClassificationItemRelationship::RelatedItems() { RETURN_AS_LIST(IfcClassificationItem,1) } -void IfcClassificationItemRelationship::setRelatedItems(SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } bool IfcClassificationItemRelationship::is(Type::Enum v) const { return v == Type::IfcClassificationItemRelationship; } Type::Enum IfcClassificationItemRelationship::type() const { return Type::IfcClassificationItemRelationship; } Type::Enum IfcClassificationItemRelationship::Class() { return Type::IfcClassificationItemRelationship; } -IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationItemRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcClassificationItem* v1_RelatingItem, SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > v2_RelatedItems) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingItem)); e->setArgument(1,(v2_RelatedItems)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationItemRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcClassificationItem* v1_RelatingItem, IfcTemplatedEntityList< IfcClassificationItem >::ptr v2_RelatedItems) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingItem)); e->setArgument(1,(v2_RelatedItems)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationNotation -SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > IfcClassificationNotation::NotationFacets() { RETURN_AS_LIST(IfcClassificationNotationFacet,0) } -void IfcClassificationNotation::setNotationFacets(SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcClassificationNotation::IfcClassificationNotation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationNotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationNotation::IfcClassificationNotation(SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > v1_NotationFacets) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationFacets)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcClassificationNotation::IfcClassificationNotation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationNotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassificationNotation::IfcClassificationNotation(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v1_NotationFacets) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationFacets)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationNotationFacet -IfcLabel IfcClassificationNotationFacet::NotationValue() { return *entity->getArgument(0); } +IfcLabel IfcClassificationNotationFacet::NotationValue() const { return *entity->getArgument(0); } void IfcClassificationNotationFacet::setNotationValue(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcClassificationNotationFacet::is(Type::Enum v) const { return v == Type::IfcClassificationNotationFacet; } Type::Enum IfcClassificationNotationFacet::type() const { return Type::IfcClassificationNotationFacet; } Type::Enum IfcClassificationNotationFacet::Class() { return Type::IfcClassificationNotationFacet; } -IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationNotationFacet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationNotationFacet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcLabel v1_NotationValue) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationReference -bool IfcClassificationReference::hasReferencedSource() { return !entity->getArgument(3)->isNull(); } -IfcClassification* IfcClassificationReference::ReferencedSource() { return (IfcClassification*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationReference::IfcClassificationReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name, IfcClassification* v4_ReferencedSource) : IfcExternalReference((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassificationReference::IfcClassificationReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name, IfcClassification* v4_ReferencedSource) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_ReferencedSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClosedShell bool IfcClosedShell::is(Type::Enum v) const { return v == Type::IfcClosedShell || IfcConnectedFaceSet::is(v); } Type::Enum IfcClosedShell::type() const { return Type::IfcClosedShell; } Type::Enum IfcClosedShell::Class() { return Type::IfcClosedShell; } -IfcClosedShell::IfcClosedShell(IfcAbstractEntityPtr e) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcClosedShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClosedShell::IfcClosedShell(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcClosedShell::IfcClosedShell(IfcAbstractEntity* e) : IfcConnectedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClosedShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcCoilType -IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoilType::PredefinedType() { return IfcCoilTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoilType::IfcCoilType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoilType::IfcCoilType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgb -IfcNormalisedRatioMeasure IfcColourRgb::Red() { return *entity->getArgument(1); } +IfcNormalisedRatioMeasure IfcColourRgb::Red() const { return *entity->getArgument(1); } void IfcColourRgb::setRed(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Green() { return *entity->getArgument(2); } +IfcNormalisedRatioMeasure IfcColourRgb::Green() const { return *entity->getArgument(2); } void IfcColourRgb::setGreen(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Blue() { return *entity->getArgument(3); } +IfcNormalisedRatioMeasure IfcColourRgb::Blue() const { return *entity->getArgument(3); } void IfcColourRgb::setBlue(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcColourRgb::is(Type::Enum v) const { return v == Type::IfcColourRgb || IfcColourSpecification::is(v); } Type::Enum IfcColourRgb::type() const { return Type::IfcColourRgb; } Type::Enum IfcColourRgb::Class() { return Type::IfcColourRgb; } -IfcColourRgb::IfcColourRgb(IfcAbstractEntityPtr e) : IfcColourSpecification((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColourRgb)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourRgb::IfcColourRgb(boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue) : IfcColourSpecification((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } +IfcColourRgb::IfcColourRgb(IfcAbstractEntity* e) : IfcColourSpecification((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourRgb)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColourRgb::IfcColourRgb(boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourSpecification -bool IfcColourSpecification::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcColourSpecification::Name() { return *entity->getArgument(0); } +bool IfcColourSpecification::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcColourSpecification::Name() const { return *entity->getArgument(0); } void IfcColourSpecification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcColourSpecification::is(Type::Enum v) const { return v == Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::type() const { return Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::Class() { return Type::IfcColourSpecification; } -IfcColourSpecification::IfcColourSpecification(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcColourSpecification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColourSpecification::IfcColourSpecification(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcColourSpecification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcColourSpecification::IfcColourSpecification(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumn bool IfcColumn::is(Type::Enum v) const { return v == Type::IfcColumn || IfcBuildingElement::is(v); } Type::Enum IfcColumn::type() const { return Type::IfcColumn; } Type::Enum IfcColumn::Class() { return Type::IfcColumn; } -IfcColumn::IfcColumn(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumn::IfcColumn(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColumn::IfcColumn(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnType -IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnType::PredefinedType() { return IfcColumnTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnType::IfcColumnType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColumnType::IfcColumnType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexProperty -IfcIdentifier IfcComplexProperty::UsageName() { return *entity->getArgument(2); } +IfcIdentifier IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } void IfcComplexProperty::setUsageName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcComplexProperty::HasProperties() { RETURN_AS_LIST(IfcProperty,3) } -void IfcComplexProperty::setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcTemplatedEntityList< IfcProperty >::ptr IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcComplexProperty::is(Type::Enum v) const { return v == Type::IfcComplexProperty || IfcProperty::is(v); } Type::Enum IfcComplexProperty::type() const { return Type::IfcComplexProperty; } Type::Enum IfcComplexProperty::Class() { return Type::IfcComplexProperty; } -IfcComplexProperty::IfcComplexProperty(IfcAbstractEntityPtr e) : IfcProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexProperty::IfcComplexProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v4_HasProperties) : IfcProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcComplexProperty::IfcComplexProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcComplexProperty::IfcComplexProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeCurve -SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > IfcCompositeCurve::Segments() { RETURN_AS_LIST(IfcCompositeCurveSegment,0) } -void IfcCompositeCurve::setSegments(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcCompositeCurve::SelfIntersect() { return *entity->getArgument(1); } +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()); } +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); } 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; } -IfcCompositeCurve::IfcCompositeCurve(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeCurve::IfcCompositeCurve(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcCompositeCurve::IfcCompositeCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeCurve::IfcCompositeCurve(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcBoundedCurve((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 IfcCompositeCurveSegment -IfcTransitionCode::IfcTransitionCode IfcCompositeCurveSegment::Transition() { return IfcTransitionCode::FromString(*entity->getArgument(0)); } +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)); } -bool IfcCompositeCurveSegment::SameSense() { return *entity->getArgument(1); } +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); } -IfcCurve* IfcCompositeCurveSegment::ParentCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcCompositeCurve::list IfcCompositeCurveSegment::UsingCurves() { RETURN_INVERSE(IfcCompositeCurve) } +IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return entity->getInverse(Type::IfcCompositeCurve)->as(); } bool IfcCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcCompositeCurveSegment || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCompositeCurveSegment::type() const { return Type::IfcCompositeCurveSegment; } Type::Enum IfcCompositeCurveSegment::Class() { return Type::IfcCompositeCurveSegment; } -IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); entity = e; EntityBuffer::Add(this); } +IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeProfileDef -SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > IfcCompositeProfileDef::Profiles() { RETURN_AS_LIST(IfcProfileDef,2) } -void IfcCompositeProfileDef::setProfiles(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcCompositeProfileDef::hasLabel() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcCompositeProfileDef::Label() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcProfileDef >::ptr IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcCompositeProfileDef::hasLabel() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } void IfcCompositeProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } Type::Enum IfcCompositeProfileDef::type() const { return Type::IfcCompositeProfileDef; } Type::Enum IfcCompositeProfileDef::Class() { return Type::IfcCompositeProfileDef; } -IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v3_Profiles, boost::optional< IfcLabel > v4_Label) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressorType -IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorType::PredefinedType() { return IfcCompressorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressorType::IfcCompressorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompressorType::IfcCompressorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenserType -IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserType::PredefinedType() { return IfcCondenserTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenserType::IfcCondenserType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCondenserType::IfcCondenserType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondition bool IfcCondition::is(Type::Enum v) const { return v == Type::IfcCondition || IfcGroup::is(v); } Type::Enum IfcCondition::type() const { return Type::IfcCondition; } Type::Enum IfcCondition::Class() { return Type::IfcCondition; } -IfcCondition::IfcCondition(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondition::IfcCondition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCondition::IfcCondition(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCondition::IfcCondition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConditionCriterion -IfcConditionCriterionSelect IfcConditionCriterion::Criterion() { return *entity->getArgument(5); } +IfcConditionCriterionSelect IfcConditionCriterion::Criterion() const { return *entity->getArgument(5); } void IfcConditionCriterion::setCriterion(IfcConditionCriterionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcDateTimeSelect IfcConditionCriterion::CriterionDateTime() { return *entity->getArgument(6); } +IfcDateTimeSelect IfcConditionCriterion::CriterionDateTime() const { return *entity->getArgument(6); } void IfcConditionCriterion::setCriterionDateTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcConditionCriterion::is(Type::Enum v) const { return v == Type::IfcConditionCriterion || IfcControl::is(v); } Type::Enum IfcConditionCriterion::type() const { return Type::IfcConditionCriterion; } Type::Enum IfcConditionCriterion::Class() { return Type::IfcConditionCriterion; } -IfcConditionCriterion::IfcConditionCriterion(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConditionCriterion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConditionCriterion::IfcConditionCriterion(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcConditionCriterionSelect v6_Criterion, IfcDateTimeSelect v7_CriterionDateTime) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Criterion)); e->setArgument(6,(v7_CriterionDateTime)); entity = e; EntityBuffer::Add(this); } +IfcConditionCriterion::IfcConditionCriterion(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConditionCriterion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConditionCriterion::IfcConditionCriterion(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcConditionCriterionSelect v6_Criterion, IfcDateTimeSelect v7_CriterionDateTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Criterion)); e->setArgument(6,(v7_CriterionDateTime)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConic -IfcAxis2Placement IfcConic::Position() { return *entity->getArgument(0); } +IfcAxis2Placement IfcConic::Position() const { return *entity->getArgument(0); } void IfcConic::setPosition(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConic::is(Type::Enum v) const { return v == Type::IfcConic || IfcCurve::is(v); } Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } -IfcConic::IfcConic(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConic::IfcConic(IfcAxis2Placement v1_Position) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcConic::IfcConic(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConic::IfcConic(IfcAxis2Placement v1_Position) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectedFaceSet -SHARED_PTR< IfcTemplatedEntityList< IfcFace > > IfcConnectedFaceSet::CfsFaces() { RETURN_AS_LIST(IfcFace,0) } -void IfcConnectedFaceSet::setCfsFaces(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcConnectedFaceSet::IfcConnectedFaceSet(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectedFaceSet::IfcConnectedFaceSet(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcConnectedFaceSet::IfcConnectedFaceSet(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionCurveGeometry -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatingElement() { return *entity->getArgument(0); } +IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionGeometry bool IfcConnectionGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionGeometry; } Type::Enum IfcConnectionGeometry::type() const { return Type::IfcConnectionGeometry; } Type::Enum IfcConnectionGeometry::Class() { return Type::IfcConnectionGeometry; } -IfcConnectionGeometry::IfcConnectionGeometry(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConnectionGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionGeometry::IfcConnectionGeometry(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConnectionGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointEccentricity -bool IfcConnectionPointEccentricity::hasEccentricityInX() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInX() { return *entity->getArgument(2); } +bool IfcConnectionPointEccentricity::hasEccentricityInX() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } void IfcConnectionPointEccentricity::setEccentricityInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInY() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInY() { return *entity->getArgument(3); } +bool IfcConnectionPointEccentricity::hasEccentricityInY() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } void IfcConnectionPointEccentricity::setEccentricityInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInZ() { return !entity->getArgument(4)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInZ() { return *entity->getArgument(4); } +bool IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !entity->getArgument(4)->isNull(); } +IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } void IfcConnectionPointEccentricity::setEccentricityInZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionPointGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcAbstractEntity* e) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointGeometry -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatingElement() { return *entity->getArgument(0); } +IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionPointGeometry::hasPointOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPortGeometry -IfcAxis2Placement IfcConnectionPortGeometry::LocationAtRelatingElement() { return *entity->getArgument(0); } +IfcAxis2Placement IfcConnectionPortGeometry::LocationAtRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionPortGeometry::setLocationAtRelatingElement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionPortGeometry::hasLocationAtRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement IfcConnectionPortGeometry::LocationAtRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionPortGeometry::hasLocationAtRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcAxis2Placement IfcConnectionPortGeometry::LocationAtRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionPortGeometry::setLocationAtRelatedElement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcProfileDef* IfcConnectionPortGeometry::ProfileOfPort() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcProfileDef* IfcConnectionPortGeometry::ProfileOfPort() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcConnectionPortGeometry::setProfileOfPort(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcConnectionPortGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPortGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPortGeometry::type() const { return Type::IfcConnectionPortGeometry; } Type::Enum IfcConnectionPortGeometry::Class() { return Type::IfcConnectionPortGeometry; } -IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionPortGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAxis2Placement v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LocationAtRelatingElement)); if (v2_LocationAtRelatedElement) { e->setArgument(1,(*v2_LocationAtRelatedElement)); } else { e->setArgument(1); } e->setArgument(2,(v3_ProfileOfPort)); entity = e; EntityBuffer::Add(this); } +IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPortGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAxis2Placement v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LocationAtRelatingElement)); if (v2_LocationAtRelatedElement) { e->setArgument(1,(*v2_LocationAtRelatedElement)); } else { e->setArgument(1); } e->setArgument(2,(v3_ProfileOfPort)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionSurfaceGeometry -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() { return *entity->getArgument(0); } +IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraint -IfcLabel IfcConstraint::Name() { return *entity->getArgument(0); } +IfcLabel IfcConstraint::Name() const { return *entity->getArgument(0); } void IfcConstraint::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraint::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraint::Description() { return *entity->getArgument(1); } +bool IfcConstraint::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcConstraint::Description() const { return *entity->getArgument(1); } void IfcConstraint::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcConstraintEnum::IfcConstraintEnum IfcConstraint::ConstraintGrade() { return IfcConstraintEnum::FromString(*entity->getArgument(2)); } +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() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcConstraint::ConstraintSource() { return *entity->getArgument(3); } +bool IfcConstraint::hasConstraintSource() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } void IfcConstraint::setConstraintSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConstraint::hasCreatingActor() { return !entity->getArgument(4)->isNull(); } -IfcActorSelect IfcConstraint::CreatingActor() { return *entity->getArgument(4); } +bool IfcConstraint::hasCreatingActor() const { return !entity->getArgument(4)->isNull(); } +IfcActorSelect IfcConstraint::CreatingActor() const { return *entity->getArgument(4); } void IfcConstraint::setCreatingActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcConstraint::hasCreationTime() { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect IfcConstraint::CreationTime() { return *entity->getArgument(5); } +bool IfcConstraint::hasCreationTime() const { return !entity->getArgument(5)->isNull(); } +IfcDateTimeSelect IfcConstraint::CreationTime() const { return *entity->getArgument(5); } void IfcConstraint::setCreationTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcConstraint::hasUserDefinedGrade() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcConstraint::UserDefinedGrade() { return *entity->getArgument(6); } +bool IfcConstraint::hasUserDefinedGrade() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } void IfcConstraint::setUserDefinedGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcConstraintClassificationRelationship::list IfcConstraint::ClassifiedAs() { RETURN_INVERSE(IfcConstraintClassificationRelationship) } -IfcConstraintRelationship::list IfcConstraint::RelatesConstraints() { RETURN_INVERSE(IfcConstraintRelationship) } -IfcConstraintRelationship::list IfcConstraint::IsRelatedWith() { RETURN_INVERSE(IfcConstraintRelationship) } -IfcPropertyConstraintRelationship::list IfcConstraint::PropertiesForConstraint() { RETURN_INVERSE(IfcPropertyConstraintRelationship) } -IfcConstraintAggregationRelationship::list IfcConstraint::Aggregates() { RETURN_INVERSE(IfcConstraintAggregationRelationship) } -IfcConstraintAggregationRelationship::list IfcConstraint::IsAggregatedIn() { RETURN_INVERSE(IfcConstraintAggregationRelationship) } +IfcConstraintClassificationRelationship::list::ptr IfcConstraint::ClassifiedAs() const { return entity->getInverse(Type::IfcConstraintClassificationRelationship)->as(); } +IfcConstraintRelationship::list::ptr IfcConstraint::RelatesConstraints() const { return entity->getInverse(Type::IfcConstraintRelationship)->as(); } +IfcConstraintRelationship::list::ptr IfcConstraint::IsRelatedWith() const { return entity->getInverse(Type::IfcConstraintRelationship)->as(); } +IfcPropertyConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return entity->getInverse(Type::IfcPropertyConstraintRelationship)->as(); } +IfcConstraintAggregationRelationship::list::ptr IfcConstraint::Aggregates() const { return entity->getInverse(Type::IfcConstraintAggregationRelationship)->as(); } +IfcConstraintAggregationRelationship::list::ptr IfcConstraint::IsAggregatedIn() const { return entity->getInverse(Type::IfcConstraintAggregationRelationship)->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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstraint::IfcConstraint(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcConstraint::IfcConstraint(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraintAggregationRelationship -bool IfcConstraintAggregationRelationship::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcConstraintAggregationRelationship::Name() { return *entity->getArgument(0); } +bool IfcConstraintAggregationRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcConstraintAggregationRelationship::Name() const { return *entity->getArgument(0); } void IfcConstraintAggregationRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraintAggregationRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraintAggregationRelationship::Description() { return *entity->getArgument(1); } +bool IfcConstraintAggregationRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcConstraintAggregationRelationship::Description() const { return *entity->getArgument(1); } void IfcConstraintAggregationRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcConstraint* IfcConstraintAggregationRelationship::RelatingConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > IfcConstraintAggregationRelationship::RelatedConstraints() { RETURN_AS_LIST(IfcConstraint,3) } -void IfcConstraintAggregationRelationship::setRelatedConstraints(SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -IfcLogicalOperatorEnum::IfcLogicalOperatorEnum IfcConstraintAggregationRelationship::LogicalAggregator() { return IfcLogicalOperatorEnum::FromString(*entity->getArgument(4)); } +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()); } +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)); } 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; } -IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintAggregationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); e->setArgument(4,v5_LogicalAggregator,IfcLogicalOperatorEnum::ToString(v5_LogicalAggregator)); entity = e; EntityBuffer::Add(this); } +IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintAggregationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); e->setArgument(4,v5_LogicalAggregator,IfcLogicalOperatorEnum::ToString(v5_LogicalAggregator)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraintClassificationRelationship -IfcConstraint* IfcConstraintClassificationRelationship::ClassifiedConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcConstraintClassificationRelationship::RelatedClassifications() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcConstraintClassificationRelationship::setRelatedClassifications(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcConstraintClassificationRelationship::RelatedClassifications() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcConstraintClassificationRelationship::setRelatedClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } 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; } -IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintClassificationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcConstraint* v1_ClassifiedConstraint, IfcEntities v2_RelatedClassifications) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ClassifiedConstraint)); e->setArgument(1,(v2_RelatedClassifications)); entity = e; EntityBuffer::Add(this); } +IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintClassificationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcConstraintRelationship::Name() { return *entity->getArgument(0); } +bool IfcConstraintRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcConstraintRelationship::Name() const { return *entity->getArgument(0); } void IfcConstraintRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraintRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraintRelationship::Description() { return *entity->getArgument(1); } +bool IfcConstraintRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcConstraintRelationship::Description() const { return *entity->getArgument(1); } void IfcConstraintRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcConstraint* IfcConstraintRelationship::RelatingConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > IfcConstraintRelationship::RelatedConstraints() { RETURN_AS_LIST(IfcConstraint,3) } -void IfcConstraintRelationship::setRelatedConstraints(SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +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()); } 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; } -IfcConstraintRelationship::IfcConstraintRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v4_RelatedConstraints) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcConstraintRelationship::IfcConstraintRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResource bool IfcConstructionEquipmentResource::is(Type::Enum v) const { return v == Type::IfcConstructionEquipmentResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionEquipmentResource::type() const { return Type::IfcConstructionEquipmentResource; } Type::Enum IfcConstructionEquipmentResource::Class() { return Type::IfcConstructionEquipmentResource; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResource -bool IfcConstructionMaterialResource::hasSuppliers() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcConstructionMaterialResource::Suppliers() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,9) } -void IfcConstructionMaterialResource::setSuppliers(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcConstructionMaterialResource::hasUsageRatio() { return !entity->getArgument(10)->isNull(); } -IfcRatioMeasure IfcConstructionMaterialResource::UsageRatio() { return *entity->getArgument(10); } +bool IfcConstructionMaterialResource::hasSuppliers() const { return !entity->getArgument(9)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcConstructionMaterialResource::Suppliers() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } +void IfcConstructionMaterialResource::setSuppliers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +bool IfcConstructionMaterialResource::hasUsageRatio() const { return !entity->getArgument(10)->isNull(); } +IfcRatioMeasure IfcConstructionMaterialResource::UsageRatio() const { return *entity->getArgument(10); } void IfcConstructionMaterialResource::setUsageRatio(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntities > v10_Suppliers, boost::optional< IfcRatioMeasure > v11_UsageRatio) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< IfcRatioMeasure > v11_UsageRatio) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_Suppliers) { e->setArgument(9,(*v10_Suppliers)); } else { e->setArgument(9); } if (v11_UsageRatio) { e->setArgument(10,(*v11_UsageRatio)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResource::IfcConstructionProductResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionProductResource::IfcConstructionProductResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResource -bool IfcConstructionResource::hasResourceIdentifier() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcConstructionResource::ResourceIdentifier() { return *entity->getArgument(5); } +bool IfcConstructionResource::hasResourceIdentifier() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcConstructionResource::ResourceIdentifier() const { return *entity->getArgument(5); } void IfcConstructionResource::setResourceIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcConstructionResource::hasResourceGroup() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcConstructionResource::ResourceGroup() { return *entity->getArgument(6); } +bool IfcConstructionResource::hasResourceGroup() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcConstructionResource::ResourceGroup() const { return *entity->getArgument(6); } void IfcConstructionResource::setResourceGroup(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcConstructionResource::hasResourceConsumption() { return !entity->getArgument(7)->isNull(); } -IfcResourceConsumptionEnum::IfcResourceConsumptionEnum IfcConstructionResource::ResourceConsumption() { return IfcResourceConsumptionEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcMeasureWithUnit* IfcConstructionResource::BaseQuantity() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResource::IfcConstructionResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionResource::IfcConstructionResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContextDependentUnit -IfcLabel IfcContextDependentUnit::Name() { return *entity->getArgument(2); } +IfcLabel IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } void IfcContextDependentUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcContextDependentUnit::is(Type::Enum v) const { return v == Type::IfcContextDependentUnit || IfcNamedUnit::is(v); } Type::Enum IfcContextDependentUnit::type() const { return Type::IfcContextDependentUnit; } Type::Enum IfcContextDependentUnit::Class() { return Type::IfcContextDependentUnit; } -IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntityPtr e) : IfcNamedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcContextDependentUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name) : IfcNamedUnit((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } +IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContextDependentUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControl -IfcRelAssignsToControl::list IfcControl::Controls() { RETURN_INVERSE(IfcRelAssignsToControl) } +IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return entity->getInverse(Type::IfcRelAssignsToControl)->as(); } bool IfcControl::is(Type::Enum v) const { return v == Type::IfcControl || IfcObject::is(v); } Type::Enum IfcControl::type() const { return Type::IfcControl; } Type::Enum IfcControl::Class() { return Type::IfcControl; } -IfcControl::IfcControl(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControl::IfcControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcControl::IfcControl(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcControl::IfcControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControllerType -IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerType::PredefinedType() { return IfcControllerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControllerType::IfcControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcControllerType::IfcControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnit -IfcLabel IfcConversionBasedUnit::Name() { return *entity->getArgument(2); } +IfcLabel IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } void IfcConversionBasedUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcConversionBasedUnit::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnit || IfcNamedUnit::is(v); } Type::Enum IfcConversionBasedUnit::type() const { return Type::IfcConversionBasedUnit; } Type::Enum IfcConversionBasedUnit::Class() { return Type::IfcConversionBasedUnit; } -IfcConversionBasedUnit::IfcConversionBasedUnit(IfcAbstractEntityPtr e) : IfcNamedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } +IfcConversionBasedUnit::IfcConversionBasedUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeamType -IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamType::PredefinedType() { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeamType::IfcCooledBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCooledBeamType::IfcCooledBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTowerType -IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerType::PredefinedType() { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTowerType::IfcCoolingTowerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoolingTowerType::IfcCoolingTowerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinatedUniversalTimeOffset -IfcHourInDay IfcCoordinatedUniversalTimeOffset::HourOffset() { return *entity->getArgument(0); } +IfcHourInDay IfcCoordinatedUniversalTimeOffset::HourOffset() const { return *entity->getArgument(0); } void IfcCoordinatedUniversalTimeOffset::setHourOffset(IfcHourInDay v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcCoordinatedUniversalTimeOffset::hasMinuteOffset() { return !entity->getArgument(1)->isNull(); } -IfcMinuteInHour IfcCoordinatedUniversalTimeOffset::MinuteOffset() { return *entity->getArgument(1); } +bool IfcCoordinatedUniversalTimeOffset::hasMinuteOffset() const { return !entity->getArgument(1)->isNull(); } +IfcMinuteInHour IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { return *entity->getArgument(1); } void IfcCoordinatedUniversalTimeOffset::setMinuteOffset(IfcMinuteInHour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcAheadOrBehind::IfcAheadOrBehind IfcCoordinatedUniversalTimeOffset::Sense() { return IfcAheadOrBehind::FromString(*entity->getArgument(2)); } +IfcAheadOrBehind::IfcAheadOrBehind IfcCoordinatedUniversalTimeOffset::Sense() const { return IfcAheadOrBehind::FromString(*entity->getArgument(2)); } void IfcCoordinatedUniversalTimeOffset::setSense(IfcAheadOrBehind::IfcAheadOrBehind v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcAheadOrBehind::ToString(v)); } bool IfcCoordinatedUniversalTimeOffset::is(Type::Enum v) const { return v == Type::IfcCoordinatedUniversalTimeOffset; } Type::Enum IfcCoordinatedUniversalTimeOffset::type() const { return Type::IfcCoordinatedUniversalTimeOffset; } Type::Enum IfcCoordinatedUniversalTimeOffset::Class() { return Type::IfcCoordinatedUniversalTimeOffset; } -IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinatedUniversalTimeOffset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinatedUniversalTimeOffset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(IfcHourInDay v1_HourOffset, boost::optional< IfcMinuteInHour > v2_MinuteOffset, IfcAheadOrBehind::IfcAheadOrBehind v3_Sense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourOffset)); if (v2_MinuteOffset) { e->setArgument(1,(*v2_MinuteOffset)); } else { e->setArgument(1); } e->setArgument(2,v3_Sense,IfcAheadOrBehind::ToString(v3_Sense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem bool IfcCostItem::is(Type::Enum v) const { return v == Type::IfcCostItem || IfcControl::is(v); } Type::Enum IfcCostItem::type() const { return Type::IfcCostItem; } Type::Enum IfcCostItem::Class() { return Type::IfcCostItem; } -IfcCostItem::IfcCostItem(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostItem::IfcCostItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCostItem::IfcCostItem(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCostItem::IfcCostItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostSchedule -bool IfcCostSchedule::hasSubmittedBy() { return !entity->getArgument(5)->isNull(); } -IfcActorSelect IfcCostSchedule::SubmittedBy() { return *entity->getArgument(5); } +bool IfcCostSchedule::hasSubmittedBy() const { return !entity->getArgument(5)->isNull(); } +IfcActorSelect IfcCostSchedule::SubmittedBy() const { return *entity->getArgument(5); } void IfcCostSchedule::setSubmittedBy(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcCostSchedule::hasPreparedBy() { return !entity->getArgument(6)->isNull(); } -IfcActorSelect IfcCostSchedule::PreparedBy() { return *entity->getArgument(6); } +bool IfcCostSchedule::hasPreparedBy() const { return !entity->getArgument(6)->isNull(); } +IfcActorSelect IfcCostSchedule::PreparedBy() const { return *entity->getArgument(6); } void IfcCostSchedule::setPreparedBy(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCostSchedule::hasSubmittedOn() { return !entity->getArgument(7)->isNull(); } -IfcDateTimeSelect IfcCostSchedule::SubmittedOn() { return *entity->getArgument(7); } +bool IfcCostSchedule::hasSubmittedOn() const { return !entity->getArgument(7)->isNull(); } +IfcDateTimeSelect IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(7); } void IfcCostSchedule::setSubmittedOn(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcCostSchedule::hasStatus() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcCostSchedule::Status() { return *entity->getArgument(8); } +bool IfcCostSchedule::hasStatus() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcCostSchedule::Status() const { return *entity->getArgument(8); } void IfcCostSchedule::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcCostSchedule::hasTargetUsers() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcCostSchedule::TargetUsers() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,9) } -void IfcCostSchedule::setTargetUsers(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcCostSchedule::hasUpdateDate() { return !entity->getArgument(10)->isNull(); } -IfcDateTimeSelect IfcCostSchedule::UpdateDate() { return *entity->getArgument(10); } +bool IfcCostSchedule::hasTargetUsers() const { return !entity->getArgument(9)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcCostSchedule::TargetUsers() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } +void IfcCostSchedule::setTargetUsers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +bool IfcCostSchedule::hasUpdateDate() const { return !entity->getArgument(10)->isNull(); } +IfcDateTimeSelect IfcCostSchedule::UpdateDate() const { return *entity->getArgument(10); } void IfcCostSchedule::setUpdateDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcIdentifier IfcCostSchedule::ID() { return *entity->getArgument(11); } +IfcIdentifier IfcCostSchedule::ID() const { return *entity->getArgument(11); } void IfcCostSchedule::setID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(12)); } +IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() const { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(12)); } void IfcCostSchedule::setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcCostScheduleTypeEnum::ToString(v)); } bool IfcCostSchedule::is(Type::Enum v) const { return v == Type::IfcCostSchedule || IfcControl::is(v); } Type::Enum IfcCostSchedule::type() const { return Type::IfcCostSchedule; } Type::Enum IfcCostSchedule::Class() { return Type::IfcCostSchedule; } -IfcCostSchedule::IfcCostSchedule(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostSchedule::IfcCostSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcActorSelect > v6_SubmittedBy, boost::optional< IfcActorSelect > v7_PreparedBy, boost::optional< IfcDateTimeSelect > v8_SubmittedOn, boost::optional< IfcLabel > v9_Status, boost::optional< IfcEntities > v10_TargetUsers, boost::optional< IfcDateTimeSelect > v11_UpdateDate, IfcIdentifier v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_SubmittedBy) { e->setArgument(5,(*v6_SubmittedBy)); } else { e->setArgument(5); } if (v7_PreparedBy) { e->setArgument(6,(*v7_PreparedBy)); } else { e->setArgument(6); } if (v8_SubmittedOn) { e->setArgument(7,(*v8_SubmittedOn)); } else { e->setArgument(7); } if (v9_Status) { e->setArgument(8,(*v9_Status)); } else { e->setArgument(8); } if (v10_TargetUsers) { e->setArgument(9,(*v10_TargetUsers)); } else { e->setArgument(9); } if (v11_UpdateDate) { e->setArgument(10,(*v11_UpdateDate)); } else { e->setArgument(10); } e->setArgument(11,(v12_ID)); e->setArgument(12,v13_PredefinedType,IfcCostScheduleTypeEnum::ToString(v13_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCostSchedule::IfcCostSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCostSchedule::IfcCostSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcActorSelect > v6_SubmittedBy, boost::optional< IfcActorSelect > v7_PreparedBy, boost::optional< IfcDateTimeSelect > v8_SubmittedOn, boost::optional< IfcLabel > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, boost::optional< IfcDateTimeSelect > v11_UpdateDate, IfcIdentifier v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_SubmittedBy) { e->setArgument(5,(*v6_SubmittedBy)); } else { e->setArgument(5); } if (v7_PreparedBy) { e->setArgument(6,(*v7_PreparedBy)); } else { e->setArgument(6); } if (v8_SubmittedOn) { e->setArgument(7,(*v8_SubmittedOn)); } else { e->setArgument(7); } if (v9_Status) { e->setArgument(8,(*v9_Status)); } else { e->setArgument(8); } if (v10_TargetUsers) { e->setArgument(9,(*v10_TargetUsers)); } else { e->setArgument(9); } if (v11_UpdateDate) { e->setArgument(10,(*v11_UpdateDate)); } else { e->setArgument(10); } e->setArgument(11,(v12_ID)); e->setArgument(12,v13_PredefinedType,IfcCostScheduleTypeEnum::ToString(v13_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostValue -IfcLabel IfcCostValue::CostType() { return *entity->getArgument(6); } +IfcLabel IfcCostValue::CostType() const { return *entity->getArgument(6); } void IfcCostValue::setCostType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCostValue::hasCondition() { return !entity->getArgument(7)->isNull(); } -IfcText IfcCostValue::Condition() { return *entity->getArgument(7); } +bool IfcCostValue::hasCondition() const { return !entity->getArgument(7)->isNull(); } +IfcText IfcCostValue::Condition() const { return *entity->getArgument(7); } void IfcCostValue::setCondition(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcAppliedValue((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostValue::IfcCostValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_CostType, boost::optional< IfcText > v8_Condition) : IfcAppliedValue((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_CostType)); if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCostValue::IfcCostValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCostValue::IfcCostValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_CostType, boost::optional< IfcText > v8_Condition) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_CostType)); if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCovering -bool IfcCovering::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCovering::PredefinedType() { return IfcCoveringTypeEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcRelCoversSpaces::list IfcCovering::CoversSpaces() { RETURN_INVERSE(IfcRelCoversSpaces) } -IfcRelCoversBldgElements::list IfcCovering::Covers() { RETURN_INVERSE(IfcRelCoversBldgElements) } +IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return entity->getInverse(Type::IfcRelCoversSpaces)->as(); } +IfcRelCoversBldgElements::list::ptr IfcCovering::Covers() const { return entity->getInverse(Type::IfcRelCoversBldgElements)->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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCovering::IfcCovering(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCovering::IfcCovering(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoveringType -IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringType::PredefinedType() { return IfcCoveringTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoveringType::IfcCoveringType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoveringType::IfcCoveringType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCraneRailAShapeProfileDef -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::OverallHeight() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } void IfcCraneRailAShapeProfileDef::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseWidth2() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseWidth2() const { return *entity->getArgument(4); } void IfcCraneRailAShapeProfileDef::setBaseWidth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcCraneRailAShapeProfileDef::hasRadius() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::Radius() { return *entity->getArgument(5); } +bool IfcCraneRailAShapeProfileDef::hasRadius() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::Radius() const { return *entity->getArgument(5); } void IfcCraneRailAShapeProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadWidth() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadWidth() const { return *entity->getArgument(6); } void IfcCraneRailAShapeProfileDef::setHeadWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadDepth2() { return *entity->getArgument(7); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadDepth2() const { return *entity->getArgument(7); } void IfcCraneRailAShapeProfileDef::setHeadDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadDepth3() { return *entity->getArgument(8); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadDepth3() const { return *entity->getArgument(8); } void IfcCraneRailAShapeProfileDef::setHeadDepth3(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::WebThickness() { return *entity->getArgument(9); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::WebThickness() const { return *entity->getArgument(9); } void IfcCraneRailAShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseWidth4() { return *entity->getArgument(10); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseWidth4() const { return *entity->getArgument(10); } void IfcCraneRailAShapeProfileDef::setBaseWidth4(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth1() { return *entity->getArgument(11); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth1() const { return *entity->getArgument(11); } void IfcCraneRailAShapeProfileDef::setBaseDepth1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth2() { return *entity->getArgument(12); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth2() const { return *entity->getArgument(12); } void IfcCraneRailAShapeProfileDef::setBaseDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth3() { return *entity->getArgument(13); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth3() const { return *entity->getArgument(13); } void IfcCraneRailAShapeProfileDef::setBaseDepth3(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcCraneRailAShapeProfileDef::hasCentreOfGravityInY() { return !entity->getArgument(14)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::CentreOfGravityInY() { return *entity->getArgument(14); } +bool IfcCraneRailAShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(14)->isNull(); } +IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(14); } void IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcCraneRailAShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCraneRailAShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCraneRailAShapeProfileDef::type() const { return Type::IfcCraneRailAShapeProfileDef; } Type::Enum IfcCraneRailAShapeProfileDef::Class() { return Type::IfcCraneRailAShapeProfileDef; } -IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCraneRailAShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_BaseWidth2, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadWidth, IfcPositiveLengthMeasure v8_HeadDepth2, IfcPositiveLengthMeasure v9_HeadDepth3, IfcPositiveLengthMeasure v10_WebThickness, IfcPositiveLengthMeasure v11_BaseWidth4, IfcPositiveLengthMeasure v12_BaseDepth1, IfcPositiveLengthMeasure v13_BaseDepth2, IfcPositiveLengthMeasure v14_BaseDepth3, boost::optional< IfcPositiveLengthMeasure > v15_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_BaseWidth2)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadWidth)); e->setArgument(7,(v8_HeadDepth2)); e->setArgument(8,(v9_HeadDepth3)); e->setArgument(9,(v10_WebThickness)); e->setArgument(10,(v11_BaseWidth4)); e->setArgument(11,(v12_BaseDepth1)); e->setArgument(12,(v13_BaseDepth2)); e->setArgument(13,(v14_BaseDepth3)); if (v15_CentreOfGravityInY) { e->setArgument(14,(*v15_CentreOfGravityInY)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCraneRailAShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_BaseWidth2, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadWidth, IfcPositiveLengthMeasure v8_HeadDepth2, IfcPositiveLengthMeasure v9_HeadDepth3, IfcPositiveLengthMeasure v10_WebThickness, IfcPositiveLengthMeasure v11_BaseWidth4, IfcPositiveLengthMeasure v12_BaseDepth1, IfcPositiveLengthMeasure v13_BaseDepth2, IfcPositiveLengthMeasure v14_BaseDepth3, boost::optional< IfcPositiveLengthMeasure > v15_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_BaseWidth2)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadWidth)); e->setArgument(7,(v8_HeadDepth2)); e->setArgument(8,(v9_HeadDepth3)); e->setArgument(9,(v10_WebThickness)); e->setArgument(10,(v11_BaseWidth4)); e->setArgument(11,(v12_BaseDepth1)); e->setArgument(12,(v13_BaseDepth2)); e->setArgument(13,(v14_BaseDepth3)); if (v15_CentreOfGravityInY) { e->setArgument(14,(*v15_CentreOfGravityInY)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCraneRailFShapeProfileDef -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::OverallHeight() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } void IfcCraneRailFShapeProfileDef::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadWidth() const { return *entity->getArgument(4); } void IfcCraneRailFShapeProfileDef::setHeadWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcCraneRailFShapeProfileDef::hasRadius() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::Radius() { return *entity->getArgument(5); } +bool IfcCraneRailFShapeProfileDef::hasRadius() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::Radius() const { return *entity->getArgument(5); } void IfcCraneRailFShapeProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadDepth2() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadDepth2() const { return *entity->getArgument(6); } void IfcCraneRailFShapeProfileDef::setHeadDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadDepth3() { return *entity->getArgument(7); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadDepth3() const { return *entity->getArgument(7); } void IfcCraneRailFShapeProfileDef::setHeadDepth3(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::WebThickness() { return *entity->getArgument(8); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::WebThickness() const { return *entity->getArgument(8); } void IfcCraneRailFShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::BaseDepth1() { return *entity->getArgument(9); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::BaseDepth1() const { return *entity->getArgument(9); } void IfcCraneRailFShapeProfileDef::setBaseDepth1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::BaseDepth2() { return *entity->getArgument(10); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::BaseDepth2() const { return *entity->getArgument(10); } void IfcCraneRailFShapeProfileDef::setBaseDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcCraneRailFShapeProfileDef::hasCentreOfGravityInY() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::CentreOfGravityInY() { return *entity->getArgument(11); } +bool IfcCraneRailFShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } void IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcCraneRailFShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCraneRailFShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCraneRailFShapeProfileDef::type() const { return Type::IfcCraneRailFShapeProfileDef; } Type::Enum IfcCraneRailFShapeProfileDef::Class() { return Type::IfcCraneRailFShapeProfileDef; } -IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCraneRailFShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_HeadWidth, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadDepth2, IfcPositiveLengthMeasure v8_HeadDepth3, IfcPositiveLengthMeasure v9_WebThickness, IfcPositiveLengthMeasure v10_BaseDepth1, IfcPositiveLengthMeasure v11_BaseDepth2, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_HeadWidth)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadDepth2)); e->setArgument(7,(v8_HeadDepth3)); e->setArgument(8,(v9_WebThickness)); e->setArgument(9,(v10_BaseDepth1)); e->setArgument(10,(v11_BaseDepth2)); if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCraneRailFShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_HeadWidth, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadDepth2, IfcPositiveLengthMeasure v8_HeadDepth3, IfcPositiveLengthMeasure v9_WebThickness, IfcPositiveLengthMeasure v10_BaseDepth1, IfcPositiveLengthMeasure v11_BaseDepth2, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_HeadWidth)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadDepth2)); e->setArgument(7,(v8_HeadDepth3)); e->setArgument(8,(v9_WebThickness)); e->setArgument(9,(v10_BaseDepth1)); e->setArgument(10,(v11_BaseDepth2)); if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResource bool IfcCrewResource::is(Type::Enum v) const { return v == Type::IfcCrewResource || IfcConstructionResource::is(v); } Type::Enum IfcCrewResource::type() const { return Type::IfcCrewResource; } Type::Enum IfcCrewResource::Class() { return Type::IfcCrewResource; } -IfcCrewResource::IfcCrewResource(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResource::IfcCrewResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCrewResource::IfcCrewResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgPrimitive3D -IfcAxis2Placement3D* IfcCsgPrimitive3D::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCsgPrimitive3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCsgPrimitive3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgSolid -IfcCsgSelect IfcCsgSolid::TreeRootExpression() { return *entity->getArgument(0); } +IfcCsgSelect IfcCsgSolid::TreeRootExpression() const { return *entity->getArgument(0); } void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCsgSolid::is(Type::Enum v) const { return v == Type::IfcCsgSolid || IfcSolidModel::is(v); } Type::Enum IfcCsgSolid::type() const { return Type::IfcCsgSolid; } Type::Enum IfcCsgSolid::Class() { return Type::IfcCsgSolid; } -IfcCsgSolid::IfcCsgSolid(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCsgSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCsgSolid::IfcCsgSolid(IfcCsgSelect v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } +IfcCsgSolid::IfcCsgSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCsgSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCsgSolid::IfcCsgSolid(IfcCsgSelect v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurrencyRelationship -IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() { return (IfcMonetaryUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcCurrencyRelationship::setRelatingMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() { return (IfcMonetaryUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcCurrencyRelationship::setRelatedMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveRatioMeasure IfcCurrencyRelationship::ExchangeRate() { return *entity->getArgument(2); } +IfcPositiveRatioMeasure IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(2); } void IfcCurrencyRelationship::setExchangeRate(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDateAndTime* IfcCurrencyRelationship::RateDateTime() { return (IfcDateAndTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcLibraryInformation* IfcCurrencyRelationship::RateSource() { return (IfcLibraryInformation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurrencyRelationship::IfcCurrencyRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCurrencyRelationship::IfcCurrencyRelationship(IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, IfcPositiveRatioMeasure v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingMonetaryUnit)); e->setArgument(1,(v2_RelatedMonetaryUnit)); e->setArgument(2,(v3_ExchangeRate)); e->setArgument(3,(v4_RateDateTime)); e->setArgument(4,(v5_RateSource)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWall::IfcCurtainWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurtainWall::IfcCurtainWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWallType -IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallType::PredefinedType() { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWallType::IfcCurtainWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurtainWallType::IfcCurtainWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurve bool IfcCurve::is(Type::Enum v) const { return v == Type::IfcCurve || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCurve::type() const { return Type::IfcCurve; } Type::Enum IfcCurve::Class() { return Type::IfcCurve; } -IfcCurve::IfcCurve(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcCurve::IfcCurve(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveBoundedPlane -IfcPlane* IfcCurveBoundedPlane::BasisSurface() { return (IfcPlane*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcCurve* IfcCurveBoundedPlane::OuterBoundary() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcCurveBoundedPlane::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,2) } -void IfcCurveBoundedPlane::setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } 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; } -IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcAbstractEntityPtr e) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveBoundedPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v3_InnerBoundaries) : IfcBoundedSurface((IfcAbstractEntityPtr)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); } +IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveBoundedPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(1)->isNull(); } -IfcCurveFontOrScaledCurveFontSelect IfcCurveStyle::CurveFont() { return *entity->getArgument(1); } +bool IfcCurveStyle::hasCurveFont() const { return !entity->getArgument(1)->isNull(); } +IfcCurveFontOrScaledCurveFontSelect IfcCurveStyle::CurveFont() const { return *entity->getArgument(1); } void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcCurveStyle::hasCurveWidth() { return !entity->getArgument(2)->isNull(); } -IfcSizeSelect IfcCurveStyle::CurveWidth() { return *entity->getArgument(2); } +bool IfcCurveStyle::hasCurveWidth() const { return !entity->getArgument(2)->isNull(); } +IfcSizeSelect IfcCurveStyle::CurveWidth() const { return *entity->getArgument(2); } void IfcCurveStyle::setCurveWidth(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCurveStyle::hasCurveColour() { return !entity->getArgument(3)->isNull(); } -IfcColour IfcCurveStyle::CurveColour() { return *entity->getArgument(3); } +bool IfcCurveStyle::hasCurveColour() const { return !entity->getArgument(3)->isNull(); } +IfcColour IfcCurveStyle::CurveColour() const { return *entity->getArgument(3); } void IfcCurveStyle::setCurveColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyle::IfcCurveStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCurveStyle::IfcCurveStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyle::IfcCurveStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFont -bool IfcCurveStyleFont::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFont::Name() { return *entity->getArgument(0); } +bool IfcCurveStyleFont::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } void IfcCurveStyleFont::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > IfcCurveStyleFont::PatternList() { RETURN_AS_LIST(IfcCurveStyleFontPattern,1) } -void IfcCurveStyleFont::setPatternList(SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcCurveStyleFont::is(Type::Enum v) const { return v == Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::type() const { return Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::Class() { return Type::IfcCurveStyleFont; } -IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< IfcLabel > v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v2_PatternList) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontAndScaling -bool IfcCurveStyleFontAndScaling::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFontAndScaling::Name() { return *entity->getArgument(0); } +bool IfcCurveStyleFontAndScaling::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } void IfcCurveStyleFontAndScaling::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCurveStyleFontSelect IfcCurveStyleFontAndScaling::CurveFont() { return *entity->getArgument(1); } +IfcCurveStyleFontSelect IfcCurveStyleFontAndScaling::CurveFont() const { return *entity->getArgument(1); } void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveRatioMeasure IfcCurveStyleFontAndScaling::CurveFontScaling() { return *entity->getArgument(2); } +IfcPositiveRatioMeasure IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } void IfcCurveStyleFontAndScaling::setCurveFontScaling(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCurveStyleFontAndScaling::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::type() const { return Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::Class() { return Type::IfcCurveStyleFontAndScaling; } -IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFontAndScaling)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFontAndScaling)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontPattern -IfcLengthMeasure IfcCurveStyleFontPattern::VisibleSegmentLength() { return *entity->getArgument(0); } +IfcLengthMeasure IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } void IfcCurveStyleFontPattern::setVisibleSegmentLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcCurveStyleFontPattern::InvisibleSegmentLength() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } void IfcCurveStyleFontPattern::setInvisibleSegmentLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCurveStyleFontPattern::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::type() const { return Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::Class() { return Type::IfcCurveStyleFontPattern; } -IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFontPattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFontPattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamperType -IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperType::PredefinedType() { return IfcDamperTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamperType::IfcDamperType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDamperType::IfcDamperType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDateAndTime -IfcCalendarDate* IfcDateAndTime::DateComponent() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcLocalTime* IfcDateAndTime::TimeComponent() { return (IfcLocalTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcDateAndTime::IfcDateAndTime(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDateAndTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDateAndTime::IfcDateAndTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDateAndTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDateAndTime::IfcDateAndTime(IfcCalendarDate* v1_DateComponent, IfcLocalTime* v2_TimeComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DateComponent)); e->setArgument(1,(v2_TimeComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDefinedSymbol -IfcDefinedSymbolSelect IfcDefinedSymbol::Definition() { return *entity->getArgument(0); } +IfcDefinedSymbolSelect IfcDefinedSymbol::Definition() const { return *entity->getArgument(0); } void IfcDefinedSymbol::setDefinition(IfcDefinedSymbolSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCartesianTransformationOperator2D* IfcDefinedSymbol::Target() { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcCartesianTransformationOperator2D* IfcDefinedSymbol::Target() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcDefinedSymbol::setTarget(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcDefinedSymbol || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDefinedSymbol::type() const { return Type::IfcDefinedSymbol; } Type::Enum IfcDefinedSymbol::Class() { return Type::IfcDefinedSymbol; } -IfcDefinedSymbol::IfcDefinedSymbol(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDefinedSymbol::IfcDefinedSymbol(IfcDefinedSymbolSelect v1_Definition, IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Definition)); e->setArgument(1,(v2_Target)); entity = e; EntityBuffer::Add(this); } +IfcDefinedSymbol::IfcDefinedSymbol(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDefinedSymbol::IfcDefinedSymbol(IfcDefinedSymbolSelect v1_Definition, IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Definition)); e->setArgument(1,(v2_Target)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedProfileDef -IfcProfileDef* IfcDerivedProfileDef::ParentProfile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcCartesianTransformationOperator2D* IfcDerivedProfileDef::Operator() { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcDerivedProfileDef::Label() { return *entity->getArgument(4); } +bool IfcDerivedProfileDef::hasLabel() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } void IfcDerivedProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDerivedProfileDef::is(Type::Enum v) const { return v == Type::IfcDerivedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDef; } Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } -IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnit -SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > IfcDerivedUnit::Elements() { RETURN_AS_LIST(IfcDerivedUnitElement,0) } -void IfcDerivedUnit::setElements(SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } +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()); } +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() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDerivedUnit::UserDefinedType() { return *entity->getArgument(2); } +bool IfcDerivedUnit::hasUserDefinedType() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } void IfcDerivedUnit::setUserDefinedType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDerivedUnit::is(Type::Enum v) const { return v == Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::type() const { return Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::Class() { return Type::IfcDerivedUnit; } -IfcDerivedUnit::IfcDerivedUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedUnit::IfcDerivedUnit(SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDerivedUnit::IfcDerivedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnitElement -IfcNamedUnit* IfcDerivedUnitElement::Unit() { return (IfcNamedUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -int IfcDerivedUnitElement::Exponent() { return *entity->getArgument(1); } +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); } 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; } -IfcDerivedUnitElement::IfcDerivedUnitElement(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnitElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDerivedUnitElement::IfcDerivedUnitElement(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnitElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDerivedUnitElement::IfcDerivedUnitElement(IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Unit)); e->setArgument(1,(v2_Exponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiameterDimension bool IfcDiameterDimension::is(Type::Enum v) const { return v == Type::IfcDiameterDimension || IfcDimensionCurveDirectedCallout::is(v); } Type::Enum IfcDiameterDimension::type() const { return Type::IfcDiameterDimension; } Type::Enum IfcDiameterDimension::Class() { return Type::IfcDiameterDimension; } -IfcDiameterDimension::IfcDiameterDimension(IfcAbstractEntityPtr e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDiameterDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiameterDimension::IfcDiameterDimension(IfcEntities v1_Contents) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcDiameterDimension::IfcDiameterDimension(IfcAbstractEntity* e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiameterDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDiameterDimension::IfcDiameterDimension(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 IfcDimensionCalloutRelationship bool IfcDimensionCalloutRelationship::is(Type::Enum v) const { return v == Type::IfcDimensionCalloutRelationship || IfcDraughtingCalloutRelationship::is(v); } Type::Enum IfcDimensionCalloutRelationship::type() const { return Type::IfcDimensionCalloutRelationship; } Type::Enum IfcDimensionCalloutRelationship::Class() { return Type::IfcDimensionCalloutRelationship; } -IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(IfcAbstractEntityPtr e) : IfcDraughtingCalloutRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDimensionCalloutRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } +IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(IfcAbstractEntity* e) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCalloutRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionCurve -IfcTerminatorSymbol::list IfcDimensionCurve::AnnotatedBySymbols() { RETURN_INVERSE(IfcTerminatorSymbol) } +IfcTerminatorSymbol::list::ptr IfcDimensionCurve::AnnotatedBySymbols() const { return entity->getInverse(Type::IfcTerminatorSymbol)->as(); } bool IfcDimensionCurve::is(Type::Enum v) const { return v == Type::IfcDimensionCurve || IfcAnnotationCurveOccurrence::is(v); } Type::Enum IfcDimensionCurve::type() const { return Type::IfcDimensionCurve; } Type::Enum IfcDimensionCurve::Class() { return Type::IfcDimensionCurve; } -IfcDimensionCurve::IfcDimensionCurve(IfcAbstractEntityPtr e) : IfcAnnotationCurveOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionCurve::IfcDimensionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionCurveDirectedCallout bool IfcDimensionCurveDirectedCallout::is(Type::Enum v) const { return v == Type::IfcDimensionCurveDirectedCallout || IfcDraughtingCallout::is(v); } Type::Enum IfcDimensionCurveDirectedCallout::type() const { return Type::IfcDimensionCurveDirectedCallout; } Type::Enum IfcDimensionCurveDirectedCallout::Class() { return Type::IfcDimensionCurveDirectedCallout; } -IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcAbstractEntityPtr e) : IfcDraughtingCallout((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurveDirectedCallout)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcEntities v1_Contents) : IfcDraughtingCallout((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcAbstractEntity* e) : IfcDraughtingCallout((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurveDirectedCallout)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcEntityList::ptr v1_Contents) : IfcDraughtingCallout((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionCurveTerminator -IfcDimensionExtentUsage::IfcDimensionExtentUsage IfcDimensionCurveTerminator::Role() { return IfcDimensionExtentUsage::FromString(*entity->getArgument(4)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcTerminatorSymbol((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role) : IfcTerminatorSymbol((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurveTerminator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); e->setArgument(4,v5_Role,IfcDimensionExtentUsage::ToString(v5_Role)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionPair bool IfcDimensionPair::is(Type::Enum v) const { return v == Type::IfcDimensionPair || IfcDraughtingCalloutRelationship::is(v); } Type::Enum IfcDimensionPair::type() const { return Type::IfcDimensionPair; } Type::Enum IfcDimensionPair::Class() { return Type::IfcDimensionPair; } -IfcDimensionPair::IfcDimensionPair(IfcAbstractEntityPtr e) : IfcDraughtingCalloutRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDimensionPair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionPair::IfcDimensionPair(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } +IfcDimensionPair::IfcDimensionPair(IfcAbstractEntity* e) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionPair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionPair::IfcDimensionPair(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionalExponents -int IfcDimensionalExponents::LengthExponent() { return *entity->getArgument(0); } +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); } -int IfcDimensionalExponents::MassExponent() { return *entity->getArgument(1); } +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); } -int IfcDimensionalExponents::TimeExponent() { return *entity->getArgument(2); } +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); } -int IfcDimensionalExponents::ElectricCurrentExponent() { return *entity->getArgument(3); } +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); } -int IfcDimensionalExponents::ThermodynamicTemperatureExponent() { return *entity->getArgument(4); } +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); } -int IfcDimensionalExponents::AmountOfSubstanceExponent() { return *entity->getArgument(5); } +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); } -int IfcDimensionalExponents::LuminousIntensityExponent() { return *entity->getArgument(6); } +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); } 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; } -IfcDimensionalExponents::IfcDimensionalExponents(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDimensionalExponents)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionalExponents::IfcDimensionalExponents(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDimensionalExponents)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDimensionalExponents::IfcDimensionalExponents(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LengthExponent)); e->setArgument(1,(v2_MassExponent)); e->setArgument(2,(v3_TimeExponent)); e->setArgument(3,(v4_ElectricCurrentExponent)); e->setArgument(4,(v5_ThermodynamicTemperatureExponent)); e->setArgument(5,(v6_AmountOfSubstanceExponent)); e->setArgument(6,(v7_LuminousIntensityExponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ IfcDirection::DirectionRatios() { return *entity->getArgument(0); } +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); } 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; } -IfcDirection::IfcDirection(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDirection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DirectionRatios)); entity = e; EntityBuffer::Add(this); } +IfcDirection::IfcDirection(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDirection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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::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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessory::IfcDiscreteAccessory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDiscreteAccessory::IfcDiscreteAccessory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessoryType bool IfcDiscreteAccessoryType::is(Type::Enum v) const { return v == Type::IfcDiscreteAccessoryType || IfcElementComponentType::is(v); } Type::Enum IfcDiscreteAccessoryType::type() const { return Type::IfcDiscreteAccessoryType; } Type::Enum IfcDiscreteAccessoryType::Class() { return Type::IfcDiscreteAccessoryType; } -IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElement bool IfcDistributionChamberElement::is(Type::Enum v) const { return v == Type::IfcDistributionChamberElement || IfcDistributionFlowElement::is(v); } Type::Enum IfcDistributionChamberElement::type() const { return Type::IfcDistributionChamberElement; } Type::Enum IfcDistributionChamberElement::Class() { return Type::IfcDistributionChamberElement; } -IfcDistributionChamberElement::IfcDistributionChamberElement(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElement::IfcDistributionChamberElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionChamberElement::IfcDistributionChamberElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElementType -IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementType::PredefinedType() { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElement -bool IfcDistributionControlElement::hasControlElementId() { return !entity->getArgument(8)->isNull(); } -IfcIdentifier IfcDistributionControlElement::ControlElementId() { return *entity->getArgument(8); } +bool IfcDistributionControlElement::hasControlElementId() const { return !entity->getArgument(8)->isNull(); } +IfcIdentifier IfcDistributionControlElement::ControlElementId() const { return *entity->getArgument(8); } void IfcDistributionControlElement::setControlElementId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcRelFlowControlElements::list IfcDistributionControlElement::AssignedToFlowElement() { RETURN_INVERSE(IfcRelFlowControlElements) } +IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } bool IfcDistributionControlElement::is(Type::Enum v) const { return v == Type::IfcDistributionControlElement || IfcDistributionElement::is(v); } Type::Enum IfcDistributionControlElement::type() const { return Type::IfcDistributionControlElement; } Type::Enum IfcDistributionControlElement::Class() { return Type::IfcDistributionControlElement; } -IfcDistributionControlElement::IfcDistributionControlElement(IfcAbstractEntityPtr e) : IfcDistributionElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElement::IfcDistributionControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcIdentifier > v9_ControlElementId) : IfcDistributionElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionControlElement::IfcDistributionControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcIdentifier > v9_ControlElementId) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ControlElementId) { e->setArgument(8,(*v9_ControlElementId)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElementType::IfcDistributionControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionControlElementType::IfcDistributionControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElement bool IfcDistributionElement::is(Type::Enum v) const { return v == Type::IfcDistributionElement || IfcElement::is(v); } Type::Enum IfcDistributionElement::type() const { return Type::IfcDistributionElement; } Type::Enum IfcDistributionElement::Class() { return Type::IfcDistributionElement; } -IfcDistributionElement::IfcDistributionElement(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElement::IfcDistributionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionElement::IfcDistributionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElementType::IfcDistributionElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionElementType::IfcDistributionElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElement -IfcRelFlowControlElements::list IfcDistributionFlowElement::HasControlElements() { RETURN_INVERSE(IfcRelFlowControlElements) } +IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } bool IfcDistributionFlowElement::is(Type::Enum v) const { return v == Type::IfcDistributionFlowElement || IfcDistributionElement::is(v); } Type::Enum IfcDistributionFlowElement::type() const { return Type::IfcDistributionFlowElement; } Type::Enum IfcDistributionFlowElement::Class() { return Type::IfcDistributionFlowElement; } -IfcDistributionFlowElement::IfcDistributionFlowElement(IfcAbstractEntityPtr e) : IfcDistributionElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElement::IfcDistributionFlowElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionFlowElement::IfcDistributionFlowElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionPort -bool IfcDistributionPort::hasFlowDirection() { return !entity->getArgument(7)->isNull(); } -IfcFlowDirectionEnum::IfcFlowDirectionEnum IfcDistributionPort::FlowDirection() { return IfcFlowDirectionEnum::FromString(*entity->getArgument(7)); } +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::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(IfcAbstractEntityPtr e) : IfcPort((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionPort::IfcDistributionPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection) : IfcPort((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcPort((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionPort::IfcDistributionPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentElectronicFormat -bool IfcDocumentElectronicFormat::hasFileExtension() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcDocumentElectronicFormat::FileExtension() { return *entity->getArgument(0); } +bool IfcDocumentElectronicFormat::hasFileExtension() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcDocumentElectronicFormat::FileExtension() const { return *entity->getArgument(0); } void IfcDocumentElectronicFormat::setFileExtension(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcDocumentElectronicFormat::hasMimeContentType() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcDocumentElectronicFormat::MimeContentType() { return *entity->getArgument(1); } +bool IfcDocumentElectronicFormat::hasMimeContentType() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcDocumentElectronicFormat::MimeContentType() const { return *entity->getArgument(1); } void IfcDocumentElectronicFormat::setMimeContentType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcDocumentElectronicFormat::hasMimeSubtype() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDocumentElectronicFormat::MimeSubtype() { return *entity->getArgument(2); } +bool IfcDocumentElectronicFormat::hasMimeSubtype() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcDocumentElectronicFormat::MimeSubtype() const { return *entity->getArgument(2); } void IfcDocumentElectronicFormat::setMimeSubtype(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDocumentElectronicFormat::is(Type::Enum v) const { return v == Type::IfcDocumentElectronicFormat; } Type::Enum IfcDocumentElectronicFormat::type() const { return Type::IfcDocumentElectronicFormat; } Type::Enum IfcDocumentElectronicFormat::Class() { return Type::IfcDocumentElectronicFormat; } -IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentElectronicFormat)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentElectronicFormat)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(boost::optional< IfcLabel > v1_FileExtension, boost::optional< IfcLabel > v2_MimeContentType, boost::optional< IfcLabel > v3_MimeSubtype) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_FileExtension) { e->setArgument(0,(*v1_FileExtension)); } else { e->setArgument(0); } if (v2_MimeContentType) { e->setArgument(1,(*v2_MimeContentType)); } else { e->setArgument(1); } if (v3_MimeSubtype) { e->setArgument(2,(*v3_MimeSubtype)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformation -IfcIdentifier IfcDocumentInformation::DocumentId() { return *entity->getArgument(0); } +IfcIdentifier IfcDocumentInformation::DocumentId() const { return *entity->getArgument(0); } void IfcDocumentInformation::setDocumentId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcDocumentInformation::Name() { return *entity->getArgument(1); } +IfcLabel IfcDocumentInformation::Name() const { return *entity->getArgument(1); } void IfcDocumentInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcDocumentInformation::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcDocumentInformation::Description() { return *entity->getArgument(2); } +bool IfcDocumentInformation::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcDocumentInformation::Description() const { return *entity->getArgument(2); } void IfcDocumentInformation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcDocumentInformation::hasDocumentReferences() { return !entity->getArgument(3)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > IfcDocumentInformation::DocumentReferences() { RETURN_AS_LIST(IfcDocumentReference,3) } -void IfcDocumentInformation::setDocumentReferences(SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcDocumentInformation::hasPurpose() { return !entity->getArgument(4)->isNull(); } -IfcText IfcDocumentInformation::Purpose() { return *entity->getArgument(4); } +bool IfcDocumentInformation::hasDocumentReferences() const { return !entity->getArgument(3)->isNull(); } +IfcTemplatedEntityList< IfcDocumentReference >::ptr IfcDocumentInformation::DocumentReferences() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcDocumentInformation::setDocumentReferences(IfcTemplatedEntityList< IfcDocumentReference >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +bool IfcDocumentInformation::hasPurpose() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } void IfcDocumentInformation::setPurpose(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDocumentInformation::hasIntendedUse() { return !entity->getArgument(5)->isNull(); } -IfcText IfcDocumentInformation::IntendedUse() { return *entity->getArgument(5); } +bool IfcDocumentInformation::hasIntendedUse() const { return !entity->getArgument(5)->isNull(); } +IfcText IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } void IfcDocumentInformation::setIntendedUse(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDocumentInformation::hasScope() { return !entity->getArgument(6)->isNull(); } -IfcText IfcDocumentInformation::Scope() { return *entity->getArgument(6); } +bool IfcDocumentInformation::hasScope() const { return !entity->getArgument(6)->isNull(); } +IfcText IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } void IfcDocumentInformation::setScope(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDocumentInformation::hasRevision() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcDocumentInformation::Revision() { return *entity->getArgument(7); } +bool IfcDocumentInformation::hasRevision() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } void IfcDocumentInformation::setRevision(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDocumentInformation::hasDocumentOwner() { return !entity->getArgument(8)->isNull(); } -IfcActorSelect IfcDocumentInformation::DocumentOwner() { return *entity->getArgument(8); } +bool IfcDocumentInformation::hasDocumentOwner() const { return !entity->getArgument(8)->isNull(); } +IfcActorSelect IfcDocumentInformation::DocumentOwner() const { return *entity->getArgument(8); } void IfcDocumentInformation::setDocumentOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDocumentInformation::hasEditors() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcDocumentInformation::Editors() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,9) } -void IfcDocumentInformation::setEditors(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcDocumentInformation::hasCreationTime() { return !entity->getArgument(10)->isNull(); } -IfcDateAndTime* IfcDocumentInformation::CreationTime() { return (IfcDateAndTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +bool IfcDocumentInformation::hasEditors() const { return !entity->getArgument(9)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcDocumentInformation::Editors() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } +void IfcDocumentInformation::setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +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() { return !entity->getArgument(11)->isNull(); } -IfcDateAndTime* IfcDocumentInformation::LastRevisionTime() { return (IfcDateAndTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +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() { return !entity->getArgument(12)->isNull(); } -IfcDocumentElectronicFormat* IfcDocumentInformation::ElectronicFormat() { return (IfcDocumentElectronicFormat*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(12))); } +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() { return !entity->getArgument(13)->isNull(); } -IfcCalendarDate* IfcDocumentInformation::ValidFrom() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(13))); } +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() { return !entity->getArgument(14)->isNull(); } -IfcCalendarDate* IfcDocumentInformation::ValidUntil() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(14))); } +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() { return !entity->getArgument(15)->isNull(); } -IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum IfcDocumentInformation::Confidentiality() { return IfcDocumentConfidentialityEnum::FromString(*entity->getArgument(15)); } +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() { return !entity->getArgument(16)->isNull(); } -IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentInformation::Status() { return IfcDocumentStatusEnum::FromString(*entity->getArgument(16)); } +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)); } -IfcDocumentInformationRelationship::list IfcDocumentInformation::IsPointedTo() { RETURN_INVERSE(IfcDocumentInformationRelationship) } -IfcDocumentInformationRelationship::list IfcDocumentInformation::IsPointer() { RETURN_INVERSE(IfcDocumentInformationRelationship) } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return entity->getInverse(Type::IfcDocumentInformationRelationship)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return entity->getInverse(Type::IfcDocumentInformationRelationship)->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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformation::IfcDocumentInformation(IfcIdentifier v1_DocumentId, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > > v4_DocumentReferences, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntities > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DocumentId)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_DocumentReferences) { e->setArgument(3,(*v4_DocumentReferences)->generalize()); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } e->setArgument(10,(v11_CreationTime)); e->setArgument(11,(v12_LastRevisionTime)); e->setArgument(12,(v13_ElectronicFormat)); e->setArgument(13,(v14_ValidFrom)); e->setArgument(14,(v15_ValidUntil)); if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentInformation::IfcDocumentInformation(IfcIdentifier v1_DocumentId, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DocumentId)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_DocumentReferences) { e->setArgument(3,(*v4_DocumentReferences)->generalize()); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } e->setArgument(10,(v11_CreationTime)); e->setArgument(11,(v12_LastRevisionTime)); e->setArgument(12,(v13_ElectronicFormat)); e->setArgument(13,(v14_ValidFrom)); e->setArgument(14,(v15_ValidUntil)); if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformationRelationship -IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() { return (IfcDocumentInformation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > IfcDocumentInformationRelationship::RelatedDocuments() { RETURN_AS_LIST(IfcDocumentInformation,1) } -void IfcDocumentInformationRelationship::setRelatedDocuments(SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcDocumentInformationRelationship::hasRelationshipType() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDocumentInformationRelationship::RelationshipType() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcDocumentInformation >::ptr IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcDocumentInformationRelationship::hasRelationshipType() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(2); } void IfcDocumentInformationRelationship::setRelationshipType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::type() const { return Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::Class() { return Type::IfcDocumentInformationRelationship; } -IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcDocumentInformation* v1_RelatingDocument, SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v2_RelatedDocuments, boost::optional< IfcLabel > v3_RelationshipType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingDocument)); e->setArgument(1,(v2_RelatedDocuments)->generalize()); if (v3_RelationshipType) { e->setArgument(2,(*v3_RelationshipType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcDocumentInformation* v1_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< IfcLabel > v3_RelationshipType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingDocument)); e->setArgument(1,(v2_RelatedDocuments)->generalize()); if (v3_RelationshipType) { e->setArgument(2,(*v3_RelationshipType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentReference -IfcDocumentInformation::list IfcDocumentReference::ReferenceToDocument() { RETURN_INVERSE(IfcDocumentInformation) } +IfcDocumentInformation::list::ptr IfcDocumentReference::ReferenceToDocument() const { return entity->getInverse(Type::IfcDocumentInformation)->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(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentReference::IfcDocumentReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDocumentReference::IfcDocumentReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentReference::IfcDocumentReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoor -bool IfcDoor::hasOverallHeight() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallHeight() { return *entity->getArgument(8); } +bool IfcDoor::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcDoor::OverallHeight() const { return *entity->getArgument(8); } void IfcDoor::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoor::hasOverallWidth() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallWidth() { return *entity->getArgument(9); } +bool IfcDoor::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcDoor::OverallWidth() const { return *entity->getArgument(9); } void IfcDoor::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoor::IfcDoor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoor::IfcDoor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorLiningProperties -bool IfcDoorLiningProperties::hasLiningDepth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningDepth() { return *entity->getArgument(4); } +bool IfcDoorLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } void IfcDoorLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDoorLiningProperties::hasLiningThickness() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningThickness() { return *entity->getArgument(5); } +bool IfcDoorLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } void IfcDoorLiningProperties::setLiningThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDoorLiningProperties::hasThresholdDepth() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdDepth() { return *entity->getArgument(6); } +bool IfcDoorLiningProperties::hasThresholdDepth() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } void IfcDoorLiningProperties::setThresholdDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDoorLiningProperties::hasThresholdThickness() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdThickness() { return *entity->getArgument(7); } +bool IfcDoorLiningProperties::hasThresholdThickness() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } void IfcDoorLiningProperties::setThresholdThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDoorLiningProperties::hasTransomThickness() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::TransomThickness() { return *entity->getArgument(8); } +bool IfcDoorLiningProperties::hasTransomThickness() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } void IfcDoorLiningProperties::setTransomThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoorLiningProperties::hasTransomOffset() { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::TransomOffset() { return *entity->getArgument(9); } +bool IfcDoorLiningProperties::hasTransomOffset() const { return !entity->getArgument(9)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } void IfcDoorLiningProperties::setTransomOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDoorLiningProperties::hasLiningOffset() { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningOffset() { return *entity->getArgument(10); } +bool IfcDoorLiningProperties::hasLiningOffset() const { return !entity->getArgument(10)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } void IfcDoorLiningProperties::setLiningOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDoorLiningProperties::hasThresholdOffset() { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::ThresholdOffset() { return *entity->getArgument(11); } +bool IfcDoorLiningProperties::hasThresholdOffset() const { return !entity->getArgument(11)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } void IfcDoorLiningProperties::setThresholdOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDoorLiningProperties::hasCasingThickness() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingThickness() { return *entity->getArgument(12); } +bool IfcDoorLiningProperties::hasCasingThickness() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } void IfcDoorLiningProperties::setCasingThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDoorLiningProperties::hasCasingDepth() { return !entity->getArgument(13)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingDepth() { return *entity->getArgument(13); } +bool IfcDoorLiningProperties::hasCasingDepth() const { return !entity->getArgument(13)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } void IfcDoorLiningProperties::setCasingDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDoorLiningProperties::hasShapeAspectStyle() { return !entity->getArgument(14)->isNull(); } -IfcShapeAspect* IfcDoorLiningProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(14))); } +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::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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorLiningProperties::IfcDoorLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcPositiveLengthMeasure > v8_ThresholdThickness, boost::optional< IfcPositiveLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorLiningProperties::IfcDoorLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcPositiveLengthMeasure > v8_ThresholdThickness, boost::optional< IfcPositiveLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorPanelProperties -bool IfcDoorPanelProperties::hasPanelDepth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorPanelProperties::PanelDepth() { return *entity->getArgument(4); } +bool IfcDoorPanelProperties::hasPanelDepth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } void IfcDoorPanelProperties::setPanelDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelProperties::PanelOperation() { return IfcDoorPanelOperationEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcNormalisedRatioMeasure IfcDoorPanelProperties::PanelWidth() { return *entity->getArgument(6); } +bool IfcDoorPanelProperties::hasPanelWidth() const { return !entity->getArgument(6)->isNull(); } +IfcNormalisedRatioMeasure IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } void IfcDoorPanelProperties::setPanelWidth(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelProperties::PanelPosition() { return IfcDoorPanelPositionEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcDoorPanelProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorPanelProperties::IfcDoorPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorPanelProperties::IfcDoorPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStyle -IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyle::OperationType() { return IfcDoorStyleOperationEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum IfcDoorStyle::ConstructionType() { return IfcDoorStyleConstructionEnum::FromString(*entity->getArgument(9)); } +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)); } -bool IfcDoorStyle::ParameterTakesPrecedence() { return *entity->getArgument(10); } +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); } -bool IfcDoorStyle::Sizeable() { return *entity->getArgument(11); } +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); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStyle::IfcDoorStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorStyle::IfcDoorStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingCallout -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcDraughtingCallout::Contents() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcDraughtingCallout::setContents(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcDraughtingCalloutRelationship::list IfcDraughtingCallout::IsRelatedFromCallout() { RETURN_INVERSE(IfcDraughtingCalloutRelationship) } -IfcDraughtingCalloutRelationship::list IfcDraughtingCallout::IsRelatedToCallout() { RETURN_INVERSE(IfcDraughtingCalloutRelationship) } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcDraughtingCallout::Contents() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcDraughtingCallout::setContents(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedFromCallout() const { return entity->getInverse(Type::IfcDraughtingCalloutRelationship)->as(); } +IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedToCallout() const { return entity->getInverse(Type::IfcDraughtingCalloutRelationship)->as(); } bool IfcDraughtingCallout::is(Type::Enum v) const { return v == Type::IfcDraughtingCallout || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDraughtingCallout::type() const { return Type::IfcDraughtingCallout; } Type::Enum IfcDraughtingCallout::Class() { return Type::IfcDraughtingCallout; } -IfcDraughtingCallout::IfcDraughtingCallout(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDraughtingCallout)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingCallout::IfcDraughtingCallout(IfcEntities v1_Contents) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingCallout::IfcDraughtingCallout(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingCallout)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcDraughtingCalloutRelationship::Name() { return *entity->getArgument(0); } +bool IfcDraughtingCalloutRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcDraughtingCalloutRelationship::Name() const { return *entity->getArgument(0); } void IfcDraughtingCalloutRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcDraughtingCalloutRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcDraughtingCalloutRelationship::Description() { return *entity->getArgument(1); } +bool IfcDraughtingCalloutRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcDraughtingCalloutRelationship::Description() const { return *entity->getArgument(1); } void IfcDraughtingCalloutRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() { return (IfcDraughtingCallout*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return (IfcDraughtingCallout*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(IfcDraughtingCallout* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() { return (IfcDraughtingCallout*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDraughtingCalloutRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDraughtingCalloutRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedColour bool IfcDraughtingPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedColour || IfcPreDefinedColour::is(v); } Type::Enum IfcDraughtingPreDefinedColour::type() const { return Type::IfcDraughtingPreDefinedColour; } Type::Enum IfcDraughtingPreDefinedColour::Class() { return Type::IfcDraughtingPreDefinedColour; } -IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcAbstractEntityPtr e) : IfcPreDefinedColour((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedColour((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedColour((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedColour((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedCurveFont bool IfcDraughtingPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedCurveFont || IfcPreDefinedCurveFont::is(v); } Type::Enum IfcDraughtingPreDefinedCurveFont::type() const { return Type::IfcDraughtingPreDefinedCurveFont; } Type::Enum IfcDraughtingPreDefinedCurveFont::Class() { return Type::IfcDraughtingPreDefinedCurveFont; } -IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEntityPtr e) : IfcPreDefinedCurveFont((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedTextFont bool IfcDraughtingPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedTextFont || IfcPreDefinedTextFont::is(v); } Type::Enum IfcDraughtingPreDefinedTextFont::type() const { return Type::IfcDraughtingPreDefinedTextFont; } Type::Enum IfcDraughtingPreDefinedTextFont::Class() { return Type::IfcDraughtingPreDefinedTextFont; } -IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcAbstractEntityPtr e) : IfcPreDefinedTextFont((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedTextFont((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcAbstractEntity* e) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFittingType -IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingType::PredefinedType() { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFittingType::IfcDuctFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctFittingType::IfcDuctFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegmentType -IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentType::PredefinedType() { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegmentType::IfcDuctSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctSegmentType::IfcDuctSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencerType -IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerType::PredefinedType() { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencerType::IfcDuctSilencerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctSilencerType::IfcDuctSilencerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdge -IfcVertex* IfcEdge::EdgeStart() { return (IfcVertex*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcVertex* IfcEdge::EdgeEnd() { return (IfcVertex*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcEdge::IfcEdge(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdge::IfcEdge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); entity = e; EntityBuffer::Add(this); } +IfcEdge::IfcEdge(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEdge::IfcEdge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdgeCurve -IfcCurve* IfcEdgeCurve::EdgeGeometry() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -bool IfcEdgeCurve::SameSense() { return *entity->getArgument(3); } +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); } 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; } -IfcEdgeCurve::IfcEdgeCurve(IfcAbstractEntityPtr e) : IfcEdge((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdgeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeCurve::IfcEdgeCurve(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge((IfcAbstractEntityPtr)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); } +IfcEdgeCurve::IfcEdgeCurve(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcEdgeFeature::FeatureLength() { return *entity->getArgument(8); } +bool IfcEdgeFeature::hasFeatureLength() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcEdgeFeature::FeatureLength() const { return *entity->getArgument(8); } void IfcEdgeFeature::setFeatureLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeFeature::IfcEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEdgeFeature::IfcEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdgeLoop -SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > IfcEdgeLoop::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } -void IfcEdgeLoop::setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcEdgeLoop::IfcEdgeLoop(IfcAbstractEntityPtr e) : IfcLoop((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdgeLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeLoop::IfcEdgeLoop(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList) : IfcLoop((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcEdgeLoop::IfcEdgeLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcElectricApplianceType -IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricApplianceType::PredefinedType() { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricApplianceType::IfcElectricApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricApplianceType::IfcElectricApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionPoint -IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum IfcElectricDistributionPoint::DistributionPointFunction() { return IfcElectricDistributionPointFunctionEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcElectricDistributionPoint::UserDefinedFunction() { return *entity->getArgument(9); } +bool IfcElectricDistributionPoint::hasUserDefinedFunction() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcElectricDistributionPoint::UserDefinedFunction() const { return *entity->getArgument(9); } void IfcElectricDistributionPoint::setUserDefinedFunction(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionPoint::IfcElectricDistributionPoint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< IfcLabel > v10_UserDefinedFunction) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricDistributionPoint::IfcElectricDistributionPoint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< IfcLabel > v10_UserDefinedFunction) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_DistributionPointFunction,IfcElectricDistributionPointFunctionEnum::ToString(v9_DistributionPointFunction)); if (v10_UserDefinedFunction) { e->setArgument(9,(*v10_UserDefinedFunction)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDeviceType -IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceType::PredefinedType() { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGeneratorType -IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorType::PredefinedType() { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGeneratorType::IfcElectricGeneratorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricGeneratorType::IfcElectricGeneratorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricHeaterType -IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum IfcElectricHeaterType::PredefinedType() { return IfcElectricHeaterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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; } -IfcElectricHeaterType::IfcElectricHeaterType(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricHeaterType::IfcElectricHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricHeaterType::IfcElectricHeaterType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricHeaterType::IfcElectricHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotorType -IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorType::PredefinedType() { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotorType::IfcElectricMotorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricMotorType::IfcElectricMotorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControlType -IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlType::PredefinedType() { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControlType::IfcElectricTimeControlType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricTimeControlType::IfcElectricTimeControlType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalBaseProperties -bool IfcElectricalBaseProperties::hasElectricCurrentType() { return !entity->getArgument(6)->isNull(); } -IfcElectricCurrentEnum::IfcElectricCurrentEnum IfcElectricalBaseProperties::ElectricCurrentType() { return IfcElectricCurrentEnum::FromString(*entity->getArgument(6)); } +bool IfcElectricalBaseProperties::hasElectricCurrentType() const { return !entity->getArgument(6)->isNull(); } +IfcElectricCurrentEnum::IfcElectricCurrentEnum IfcElectricalBaseProperties::ElectricCurrentType() const { return IfcElectricCurrentEnum::FromString(*entity->getArgument(6)); } void IfcElectricalBaseProperties::setElectricCurrentType(IfcElectricCurrentEnum::IfcElectricCurrentEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcElectricCurrentEnum::ToString(v)); } -IfcElectricVoltageMeasure IfcElectricalBaseProperties::InputVoltage() { return *entity->getArgument(7); } +IfcElectricVoltageMeasure IfcElectricalBaseProperties::InputVoltage() const { return *entity->getArgument(7); } void IfcElectricalBaseProperties::setInputVoltage(IfcElectricVoltageMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcFrequencyMeasure IfcElectricalBaseProperties::InputFrequency() { return *entity->getArgument(8); } +IfcFrequencyMeasure IfcElectricalBaseProperties::InputFrequency() const { return *entity->getArgument(8); } void IfcElectricalBaseProperties::setInputFrequency(IfcFrequencyMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcElectricalBaseProperties::hasFullLoadCurrent() { return !entity->getArgument(9)->isNull(); } -IfcElectricCurrentMeasure IfcElectricalBaseProperties::FullLoadCurrent() { return *entity->getArgument(9); } +bool IfcElectricalBaseProperties::hasFullLoadCurrent() const { return !entity->getArgument(9)->isNull(); } +IfcElectricCurrentMeasure IfcElectricalBaseProperties::FullLoadCurrent() const { return *entity->getArgument(9); } void IfcElectricalBaseProperties::setFullLoadCurrent(IfcElectricCurrentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcElectricalBaseProperties::hasMinimumCircuitCurrent() { return !entity->getArgument(10)->isNull(); } -IfcElectricCurrentMeasure IfcElectricalBaseProperties::MinimumCircuitCurrent() { return *entity->getArgument(10); } +bool IfcElectricalBaseProperties::hasMinimumCircuitCurrent() const { return !entity->getArgument(10)->isNull(); } +IfcElectricCurrentMeasure IfcElectricalBaseProperties::MinimumCircuitCurrent() const { return *entity->getArgument(10); } void IfcElectricalBaseProperties::setMinimumCircuitCurrent(IfcElectricCurrentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcElectricalBaseProperties::hasMaximumPowerInput() { return !entity->getArgument(11)->isNull(); } -IfcPowerMeasure IfcElectricalBaseProperties::MaximumPowerInput() { return *entity->getArgument(11); } +bool IfcElectricalBaseProperties::hasMaximumPowerInput() const { return !entity->getArgument(11)->isNull(); } +IfcPowerMeasure IfcElectricalBaseProperties::MaximumPowerInput() const { return *entity->getArgument(11); } void IfcElectricalBaseProperties::setMaximumPowerInput(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcElectricalBaseProperties::hasRatedPowerInput() { return !entity->getArgument(12)->isNull(); } -IfcPowerMeasure IfcElectricalBaseProperties::RatedPowerInput() { return *entity->getArgument(12); } +bool IfcElectricalBaseProperties::hasRatedPowerInput() const { return !entity->getArgument(12)->isNull(); } +IfcPowerMeasure IfcElectricalBaseProperties::RatedPowerInput() const { return *entity->getArgument(12); } void IfcElectricalBaseProperties::setRatedPowerInput(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -int IfcElectricalBaseProperties::InputPhase() { return *entity->getArgument(13); } +int IfcElectricalBaseProperties::InputPhase() const { return *entity->getArgument(13); } void IfcElectricalBaseProperties::setInputPhase(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcElectricalBaseProperties::is(Type::Enum v) const { return v == Type::IfcElectricalBaseProperties || IfcEnergyProperties::is(v); } Type::Enum IfcElectricalBaseProperties::type() const { return Type::IfcElectricalBaseProperties; } Type::Enum IfcElectricalBaseProperties::Class() { return Type::IfcElectricalBaseProperties; } -IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcAbstractEntityPtr e) : IfcEnergyProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricalBaseProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, IfcElectricVoltageMeasure v8_InputVoltage, IfcFrequencyMeasure v9_InputFrequency, boost::optional< IfcElectricCurrentMeasure > v10_FullLoadCurrent, boost::optional< IfcElectricCurrentMeasure > v11_MinimumCircuitCurrent, boost::optional< IfcPowerMeasure > v12_MaximumPowerInput, boost::optional< IfcPowerMeasure > v13_RatedPowerInput, int v14_InputPhase) : IfcEnergyProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } if (v7_ElectricCurrentType) { e->setArgument(6,*v7_ElectricCurrentType,IfcElectricCurrentEnum::ToString(*v7_ElectricCurrentType)); } else { e->setArgument(6); } e->setArgument(7,(v8_InputVoltage)); e->setArgument(8,(v9_InputFrequency)); if (v10_FullLoadCurrent) { e->setArgument(9,(*v10_FullLoadCurrent)); } else { e->setArgument(9); } if (v11_MinimumCircuitCurrent) { e->setArgument(10,(*v11_MinimumCircuitCurrent)); } else { e->setArgument(10); } if (v12_MaximumPowerInput) { e->setArgument(11,(*v12_MaximumPowerInput)); } else { e->setArgument(11); } if (v13_RatedPowerInput) { e->setArgument(12,(*v13_RatedPowerInput)); } else { e->setArgument(12); } e->setArgument(13,(v14_InputPhase)); entity = e; EntityBuffer::Add(this); } +IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcAbstractEntity* e) : IfcEnergyProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalBaseProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, IfcElectricVoltageMeasure v8_InputVoltage, IfcFrequencyMeasure v9_InputFrequency, boost::optional< IfcElectricCurrentMeasure > v10_FullLoadCurrent, boost::optional< IfcElectricCurrentMeasure > v11_MinimumCircuitCurrent, boost::optional< IfcPowerMeasure > v12_MaximumPowerInput, boost::optional< IfcPowerMeasure > v13_RatedPowerInput, int v14_InputPhase) : IfcEnergyProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } if (v7_ElectricCurrentType) { e->setArgument(6,*v7_ElectricCurrentType,IfcElectricCurrentEnum::ToString(*v7_ElectricCurrentType)); } else { e->setArgument(6); } e->setArgument(7,(v8_InputVoltage)); e->setArgument(8,(v9_InputFrequency)); if (v10_FullLoadCurrent) { e->setArgument(9,(*v10_FullLoadCurrent)); } else { e->setArgument(9); } if (v11_MinimumCircuitCurrent) { e->setArgument(10,(*v11_MinimumCircuitCurrent)); } else { e->setArgument(10); } if (v12_MaximumPowerInput) { e->setArgument(11,(*v12_MaximumPowerInput)); } else { e->setArgument(11); } if (v13_RatedPowerInput) { e->setArgument(12,(*v13_RatedPowerInput)); } else { e->setArgument(12); } e->setArgument(13,(v14_InputPhase)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalCircuit bool IfcElectricalCircuit::is(Type::Enum v) const { return v == Type::IfcElectricalCircuit || IfcSystem::is(v); } Type::Enum IfcElectricalCircuit::type() const { return Type::IfcElectricalCircuit; } Type::Enum IfcElectricalCircuit::Class() { return Type::IfcElectricalCircuit; } -IfcElectricalCircuit::IfcElectricalCircuit(IfcAbstractEntityPtr e) : IfcSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricalCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalCircuit::IfcElectricalCircuit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcElectricalCircuit::IfcElectricalCircuit(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricalCircuit::IfcElectricalCircuit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalElement bool IfcElectricalElement::is(Type::Enum v) const { return v == Type::IfcElectricalElement || IfcElement::is(v); } Type::Enum IfcElectricalElement::type() const { return Type::IfcElectricalElement; } Type::Enum IfcElectricalElement::Class() { return Type::IfcElectricalElement; } -IfcElectricalElement::IfcElectricalElement(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricalElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalElement::IfcElectricalElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricalElement::IfcElectricalElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElement -bool IfcElement::hasTag() { return !entity->getArgument(7)->isNull(); } -IfcIdentifier IfcElement::Tag() { return *entity->getArgument(7); } +bool IfcElement::hasTag() const { return !entity->getArgument(7)->isNull(); } +IfcIdentifier IfcElement::Tag() const { return *entity->getArgument(7); } void IfcElement::setTag(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcRelConnectsStructuralElement::list IfcElement::HasStructuralMember() { RETURN_INVERSE(IfcRelConnectsStructuralElement) } -IfcRelFillsElement::list IfcElement::FillsVoids() { RETURN_INVERSE(IfcRelFillsElement) } -IfcRelConnectsElements::list IfcElement::ConnectedTo() { RETURN_INVERSE(IfcRelConnectsElements) } -IfcRelCoversBldgElements::list IfcElement::HasCoverings() { RETURN_INVERSE(IfcRelCoversBldgElements) } -IfcRelProjectsElement::list IfcElement::HasProjections() { RETURN_INVERSE(IfcRelProjectsElement) } -IfcRelReferencedInSpatialStructure::list IfcElement::ReferencedInStructures() { RETURN_INVERSE(IfcRelReferencedInSpatialStructure) } -IfcRelConnectsPortToElement::list IfcElement::HasPorts() { RETURN_INVERSE(IfcRelConnectsPortToElement) } -IfcRelVoidsElement::list IfcElement::HasOpenings() { RETURN_INVERSE(IfcRelVoidsElement) } -IfcRelConnectsWithRealizingElements::list IfcElement::IsConnectionRealization() { RETURN_INVERSE(IfcRelConnectsWithRealizingElements) } -IfcRelSpaceBoundary::list IfcElement::ProvidesBoundaries() { RETURN_INVERSE(IfcRelSpaceBoundary) } -IfcRelConnectsElements::list IfcElement::ConnectedFrom() { RETURN_INVERSE(IfcRelConnectsElements) } -IfcRelContainedInSpatialStructure::list IfcElement::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +IfcRelConnectsStructuralElement::list::ptr IfcElement::HasStructuralMember() const { return entity->getInverse(Type::IfcRelConnectsStructuralElement)->as(); } +IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return entity->getInverse(Type::IfcRelFillsElement)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsElements)->as(); } +IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements)->as(); } +IfcRelProjectsElement::list::ptr IfcElement::HasProjections() const { return entity->getInverse(Type::IfcRelProjectsElement)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcElement::ReferencedInStructures() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure)->as(); } +IfcRelConnectsPortToElement::list::ptr IfcElement::HasPorts() const { return entity->getInverse(Type::IfcRelConnectsPortToElement)->as(); } +IfcRelVoidsElement::list::ptr IfcElement::HasOpenings() const { return entity->getInverse(Type::IfcRelVoidsElement)->as(); } +IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealization() const { return entity->getInverse(Type::IfcRelConnectsWithRealizingElements)->as(); } +IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return entity->getInverse(Type::IfcRelConnectsElements)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcProduct::is(v); } Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } -IfcElement::IfcElement(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElement::IfcElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElement::IfcElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssembly -bool IfcElementAssembly::hasAssemblyPlace() { return !entity->getArgument(8)->isNull(); } -IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcElementAssembly::AssemblyPlace() { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssembly::PredefinedType() { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssembly::IfcElementAssembly(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementAssembly::IfcElementAssembly(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponent::IfcElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementComponent::IfcElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponentType::IfcElementComponentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementComponentType::IfcElementComponentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementQuantity -bool IfcElementQuantity::hasMethodOfMeasurement() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcElementQuantity::MethodOfMeasurement() { return *entity->getArgument(4); } +bool IfcElementQuantity::hasMethodOfMeasurement() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } void IfcElementQuantity::setMethodOfMeasurement(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcElementQuantity::Quantities() { RETURN_AS_LIST(IfcPhysicalQuantity,5) } -void IfcElementQuantity::setQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } +void IfcElementQuantity::setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } bool IfcElementQuantity::is(Type::Enum v) const { return v == Type::IfcElementQuantity || IfcPropertySetDefinition::is(v); } Type::Enum IfcElementQuantity::type() const { return Type::IfcElementQuantity; } Type::Enum IfcElementQuantity::Class() { return Type::IfcElementQuantity; } -IfcElementQuantity::IfcElementQuantity(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementQuantity::IfcElementQuantity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v6_Quantities) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementQuantity::IfcElementQuantity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementType -bool IfcElementType::hasElementType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcElementType::ElementType() { return *entity->getArgument(8); } +bool IfcElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcElementType::ElementType() const { return *entity->getArgument(8); } void IfcElementType::setElementType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementType::IfcElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementType::IfcElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementarySurface -IfcAxis2Placement3D* IfcElementarySurface::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcElementarySurface::IfcElementarySurface(IfcAbstractEntityPtr e) : IfcSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementarySurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcElementarySurface::IfcElementarySurface(IfcAbstractEntity* e) : IfcSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementarySurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipse -IfcPositiveLengthMeasure IfcEllipse::SemiAxis1() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } void IfcEllipse::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcEllipse::SemiAxis2() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } void IfcEllipse::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcEllipse::is(Type::Enum v) const { return v == Type::IfcEllipse || IfcConic::is(v); } Type::Enum IfcEllipse::type() const { return Type::IfcEllipse; } Type::Enum IfcEllipse::Class() { return Type::IfcEllipse; } -IfcEllipse::IfcEllipse(IfcAbstractEntityPtr e) : IfcConic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEllipse)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipse::IfcEllipse(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2) : IfcConic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipse::IfcEllipse(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipse)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEllipse::IfcEllipse(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipseProfileDef -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis1() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } void IfcEllipseProfileDef::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis2() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } void IfcEllipseProfileDef::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyProperties -bool IfcEnergyProperties::hasEnergySequence() { return !entity->getArgument(4)->isNull(); } -IfcEnergySequenceEnum::IfcEnergySequenceEnum IfcEnergyProperties::EnergySequence() { return IfcEnergySequenceEnum::FromString(*entity->getArgument(4)); } +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() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcEnergyProperties::UserDefinedEnergySequence() { return *entity->getArgument(5); } +bool IfcEnergyProperties::hasUserDefinedEnergySequence() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcEnergyProperties::UserDefinedEnergySequence() const { return *entity->getArgument(5); } void IfcEnergyProperties::setUserDefinedEnergySequence(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcEnergyProperties::is(Type::Enum v) const { return v == Type::IfcEnergyProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcEnergyProperties::type() const { return Type::IfcEnergyProperties; } Type::Enum IfcEnergyProperties::Class() { return Type::IfcEnergyProperties; } -IfcEnergyProperties::IfcEnergyProperties(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEnergyProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyProperties::IfcEnergyProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcEnergyProperties::IfcEnergyProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEnergyProperties::IfcEnergyProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnvironmentalImpactValue -IfcLabel IfcEnvironmentalImpactValue::ImpactType() { return *entity->getArgument(6); } +IfcLabel IfcEnvironmentalImpactValue::ImpactType() const { return *entity->getArgument(6); } void IfcEnvironmentalImpactValue::setImpactType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum IfcEnvironmentalImpactValue::Category() { return IfcEnvironmentalImpactCategoryEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcEnvironmentalImpactValue::UserDefinedCategory() { return *entity->getArgument(8); } +bool IfcEnvironmentalImpactValue::hasUserDefinedCategory() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcEnvironmentalImpactValue::UserDefinedCategory() const { return *entity->getArgument(8); } void IfcEnvironmentalImpactValue::setUserDefinedCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcAppliedValue((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEnvironmentalImpactValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< IfcLabel > v9_UserDefinedCategory) : IfcAppliedValue((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_ImpactType)); e->setArgument(7,v8_Category,IfcEnvironmentalImpactCategoryEnum::ToString(v8_Category)); if (v9_UserDefinedCategory) { e->setArgument(8,(*v9_UserDefinedCategory)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnvironmentalImpactValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< IfcLabel > v9_UserDefinedCategory) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_ImpactType)); e->setArgument(7,v8_Category,IfcEnvironmentalImpactCategoryEnum::ToString(v8_Category)); if (v9_UserDefinedCategory) { e->setArgument(8,(*v9_UserDefinedCategory)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEquipmentElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEquipmentElement::IfcEquipmentElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEquipmentElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEquipmentElement::IfcEquipmentElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEquipmentStandard bool IfcEquipmentStandard::is(Type::Enum v) const { return v == Type::IfcEquipmentStandard || IfcControl::is(v); } Type::Enum IfcEquipmentStandard::type() const { return Type::IfcEquipmentStandard; } Type::Enum IfcEquipmentStandard::Class() { return Type::IfcEquipmentStandard; } -IfcEquipmentStandard::IfcEquipmentStandard(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEquipmentStandard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEquipmentStandard::IfcEquipmentStandard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcEquipmentStandard::IfcEquipmentStandard(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEquipmentStandard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEquipmentStandard::IfcEquipmentStandard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCoolerType -IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerType::PredefinedType() { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporatorType -IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorType::PredefinedType() { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporatorType::IfcEvaporatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvaporatorType::IfcEvaporatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtendedMaterialProperties -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcExtendedMaterialProperties::ExtendedProperties() { RETURN_AS_LIST(IfcProperty,1) } -void IfcExtendedMaterialProperties::setExtendedProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcExtendedMaterialProperties::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcExtendedMaterialProperties::Description() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcProperty >::ptr IfcExtendedMaterialProperties::ExtendedProperties() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcExtendedMaterialProperties::setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcExtendedMaterialProperties::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcExtendedMaterialProperties::Description() const { return *entity->getArgument(2); } void IfcExtendedMaterialProperties::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcExtendedMaterialProperties::Name() { return *entity->getArgument(3); } +IfcLabel IfcExtendedMaterialProperties::Name() const { return *entity->getArgument(3); } void IfcExtendedMaterialProperties::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcExtendedMaterialProperties::is(Type::Enum v) const { return v == Type::IfcExtendedMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcExtendedMaterialProperties::type() const { return Type::IfcExtendedMaterialProperties; } Type::Enum IfcExtendedMaterialProperties::Class() { return Type::IfcExtendedMaterialProperties; } -IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExtendedMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcMaterial* v1_Material, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v2_ExtendedProperties, boost::optional< IfcText > v3_Description, IfcLabel v4_Name) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_ExtendedProperties)->generalize()); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } +IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtendedMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< IfcText > v3_Description, IfcLabel v4_Name) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_ExtendedProperties)->generalize()); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReference -bool IfcExternalReference::hasLocation() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcExternalReference::Location() { return *entity->getArgument(0); } +bool IfcExternalReference::hasLocation() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcExternalReference::Location() const { return *entity->getArgument(0); } void IfcExternalReference::setLocation(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcExternalReference::hasItemReference() { return !entity->getArgument(1)->isNull(); } -IfcIdentifier IfcExternalReference::ItemReference() { return *entity->getArgument(1); } +bool IfcExternalReference::hasItemReference() const { return !entity->getArgument(1)->isNull(); } +IfcIdentifier IfcExternalReference::ItemReference() const { return *entity->getArgument(1); } void IfcExternalReference::setItemReference(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcExternalReference::hasName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcExternalReference::Name() { return *entity->getArgument(2); } +bool IfcExternalReference::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcExternalReference::Name() const { return *entity->getArgument(2); } void IfcExternalReference::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcExternalReference::is(Type::Enum v) const { return v == Type::IfcExternalReference; } Type::Enum IfcExternalReference::type() const { return Type::IfcExternalReference; } Type::Enum IfcExternalReference::Class() { return Type::IfcExternalReference; } -IfcExternalReference::IfcExternalReference(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternalReference::IfcExternalReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcExternalReference::IfcExternalReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedHatchStyle bool IfcExternallyDefinedHatchStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedHatchStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedHatchStyle::type() const { return Type::IfcExternallyDefinedHatchStyle; } Type::Enum IfcExternallyDefinedHatchStyle::Class() { return Type::IfcExternallyDefinedHatchStyle; } -IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedHatchStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedHatchStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedSurfaceStyle bool IfcExternallyDefinedSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedSurfaceStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedSurfaceStyle::type() const { return Type::IfcExternallyDefinedSurfaceStyle; } Type::Enum IfcExternallyDefinedSurfaceStyle::Class() { return Type::IfcExternallyDefinedSurfaceStyle; } -IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedSymbol bool IfcExternallyDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedSymbol || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedSymbol::type() const { return Type::IfcExternallyDefinedSymbol; } Type::Enum IfcExternallyDefinedSymbol::Class() { return Type::IfcExternallyDefinedSymbol; } -IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedTextFont bool IfcExternallyDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedTextFont || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedTextFont::type() const { return Type::IfcExternallyDefinedTextFont; } Type::Enum IfcExternallyDefinedTextFont::Class() { return Type::IfcExternallyDefinedTextFont; } -IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolid -IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcExtrudedAreaSolid::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcExtrudedAreaSolid::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } void IfcExtrudedAreaSolid::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFace -SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > IfcFace::Bounds() { RETURN_AS_LIST(IfcFaceBound,0) } -void IfcFace::setBounds(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } bool IfcFace::is(Type::Enum v) const { return v == Type::IfcFace || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFace::type() const { return Type::IfcFace; } Type::Enum IfcFace::Class() { return Type::IfcFace; } -IfcFace::IfcFace(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFace::IfcFace(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bounds)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcFace::IfcFace(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFace::IfcFace(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bounds)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceBasedSurfaceModel -SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > IfcFaceBasedSurfaceModel::FbsmFaces() { RETURN_AS_LIST(IfcConnectedFaceSet,0) } -void IfcFaceBasedSurfaceModel::setFbsmFaces(SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_FbsmFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_FbsmFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceBound -IfcLoop* IfcFaceBound::Bound() { return (IfcLoop*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -bool IfcFaceBound::Orientation() { return *entity->getArgument(1); } +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); } 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; } -IfcFaceBound::IfcFaceBound(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceBound::IfcFaceBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcFaceBound::IfcFaceBound(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceBound::IfcFaceBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceOuterBound bool IfcFaceOuterBound::is(Type::Enum v) const { return v == Type::IfcFaceOuterBound || IfcFaceBound::is(v); } Type::Enum IfcFaceOuterBound::type() const { return Type::IfcFaceOuterBound; } Type::Enum IfcFaceOuterBound::Class() { return Type::IfcFaceOuterBound; } -IfcFaceOuterBound::IfcFaceOuterBound(IfcAbstractEntityPtr e) : IfcFaceBound((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceOuterBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceOuterBound::IfcFaceOuterBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcFaceOuterBound::IfcFaceOuterBound(IfcAbstractEntity* e) : IfcFaceBound((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceOuterBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceOuterBound::IfcFaceOuterBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceSurface -IfcSurface* IfcFaceSurface::FaceSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -bool IfcFaceSurface::SameSense() { return *entity->getArgument(2); } +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); } 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; } -IfcFaceSurface::IfcFaceSurface(IfcAbstractEntityPtr e) : IfcFace((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceSurface::IfcFaceSurface(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((IfcAbstractEntityPtr)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); } +IfcFaceSurface::IfcFaceSurface(IfcAbstractEntity* e) : IfcFace((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceSurface::IfcFaceSurface(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((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 IfcFacetedBrep bool IfcFacetedBrep::is(Type::Enum v) const { return v == Type::IfcFacetedBrep || IfcManifoldSolidBrep::is(v); } Type::Enum IfcFacetedBrep::type() const { return Type::IfcFacetedBrep; } Type::Enum IfcFacetedBrep::Class() { return Type::IfcFacetedBrep; } -IfcFacetedBrep::IfcFacetedBrep(IfcAbstractEntityPtr e) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFacetedBrep::IfcFacetedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } +IfcFacetedBrep::IfcFacetedBrep(IfcAbstractEntity* e) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFacetedBrep::IfcFacetedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFacetedBrepWithVoids -SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > IfcFacetedBrepWithVoids::Voids() { RETURN_AS_LIST(IfcClosedShell,1) } -void IfcFacetedBrepWithVoids::setVoids(SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcAbstractEntityPtr e) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrepWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcClosedShell* v1_Outer, SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v2_Voids) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); e->setArgument(1,(v2_Voids)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcAbstractEntity* e) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrepWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureX() { return *entity->getArgument(1); } +bool IfcFailureConnectionCondition::hasTensionFailureX() const { return !entity->getArgument(1)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } void IfcFailureConnectionCondition::setTensionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFailureConnectionCondition::hasTensionFailureY() { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureY() { return *entity->getArgument(2); } +bool IfcFailureConnectionCondition::hasTensionFailureY() const { return !entity->getArgument(2)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } void IfcFailureConnectionCondition::setTensionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFailureConnectionCondition::hasTensionFailureZ() { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureZ() { return *entity->getArgument(3); } +bool IfcFailureConnectionCondition::hasTensionFailureZ() const { return !entity->getArgument(3)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } void IfcFailureConnectionCondition::setTensionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureX() { return !entity->getArgument(4)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureX() { return *entity->getArgument(4); } +bool IfcFailureConnectionCondition::hasCompressionFailureX() const { return !entity->getArgument(4)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } void IfcFailureConnectionCondition::setCompressionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureY() { return !entity->getArgument(5)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureY() { return *entity->getArgument(5); } +bool IfcFailureConnectionCondition::hasCompressionFailureY() const { return !entity->getArgument(5)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } void IfcFailureConnectionCondition::setCompressionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureZ() { return !entity->getArgument(6)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureZ() { return *entity->getArgument(6); } +bool IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !entity->getArgument(6)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } void IfcFailureConnectionCondition::setCompressionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcFailureConnectionCondition::is(Type::Enum v) const { return v == Type::IfcFailureConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcFailureConnectionCondition::type() const { return Type::IfcFailureConnectionCondition; } Type::Enum IfcFailureConnectionCondition::Class() { return Type::IfcFailureConnectionCondition; } -IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntityPtr e) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFailureConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFailureConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFanType -IfcFanTypeEnum::IfcFanTypeEnum IfcFanType::PredefinedType() { return IfcFanTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFanType::IfcFanType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFanType::IfcFanType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastener bool IfcFastener::is(Type::Enum v) const { return v == Type::IfcFastener || IfcElementComponent::is(v); } Type::Enum IfcFastener::type() const { return Type::IfcFastener; } Type::Enum IfcFastener::Class() { return Type::IfcFastener; } -IfcFastener::IfcFastener(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastener::IfcFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFastener::IfcFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastenerType bool IfcFastenerType::is(Type::Enum v) const { return v == Type::IfcFastenerType || IfcElementComponentType::is(v); } Type::Enum IfcFastenerType::type() const { return Type::IfcFastenerType; } Type::Enum IfcFastenerType::Class() { return Type::IfcFastenerType; } -IfcFastenerType::IfcFastenerType(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastenerType::IfcFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFastenerType::IfcFastenerType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFastenerType::IfcFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElement::IfcFeatureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFeatureElement::IfcFeatureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementAddition -IfcRelProjectsElement::list IfcFeatureElementAddition::ProjectsElements() { RETURN_INVERSE(IfcRelProjectsElement) } +IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return entity->getInverse(Type::IfcRelProjectsElement)->as(); } bool IfcFeatureElementAddition::is(Type::Enum v) const { return v == Type::IfcFeatureElementAddition || IfcFeatureElement::is(v); } Type::Enum IfcFeatureElementAddition::type() const { return Type::IfcFeatureElementAddition; } Type::Enum IfcFeatureElementAddition::Class() { return Type::IfcFeatureElementAddition; } -IfcFeatureElementAddition::IfcFeatureElementAddition(IfcAbstractEntityPtr e) : IfcFeatureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementAddition::IfcFeatureElementAddition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFeatureElementAddition::IfcFeatureElementAddition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementSubtraction -IfcRelVoidsElement::list IfcFeatureElementSubtraction::VoidsElements() { RETURN_INVERSE(IfcRelVoidsElement) } +IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return entity->getInverse(Type::IfcRelVoidsElement)->as(); } bool IfcFeatureElementSubtraction::is(Type::Enum v) const { return v == Type::IfcFeatureElementSubtraction || IfcFeatureElement::is(v); } Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureElementSubtraction; } Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntityPtr e) : IfcFeatureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyle -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcFillAreaStyle::FillStyles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcFillAreaStyle::setFillStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcFillAreaStyle::FillStyles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcFillAreaStyle::setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcFillAreaStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaStyle || IfcPresentationStyle::is(v); } Type::Enum IfcFillAreaStyle::type() const { return Type::IfcFillAreaStyle; } Type::Enum IfcFillAreaStyle::Class() { return Type::IfcFillAreaStyle; } -IfcFillAreaStyle::IfcFillAreaStyle(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< IfcLabel > v1_Name, IfcEntities v2_FillStyles) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyle::IfcFillAreaStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleHatching -IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() { return (IfcCurveStyle*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() const { return (IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcFillAreaStyleHatching::setHatchLineAppearance(IfcCurveStyle* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcHatchLineDistanceSelect IfcFillAreaStyleHatching::StartOfNextHatchLine() { return *entity->getArgument(1); } +IfcHatchLineDistanceSelect IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return *entity->getArgument(1); } void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() { return !entity->getArgument(2)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PointOfReferenceHatchLine() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +bool IfcFillAreaStyleHatching::hasPatternStart() const { return !entity->getArgument(3)->isNull(); } +IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcFillAreaStyleHatching::setPatternStart(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPlaneAngleMeasure IfcFillAreaStyleHatching::HatchLineAngle() { return *entity->getArgument(4); } +IfcPlaneAngleMeasure IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } void IfcFillAreaStyleHatching::setHatchLineAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTileSymbolWithStyle -IfcAnnotationSymbolOccurrence* IfcFillAreaStyleTileSymbolWithStyle::Symbol() { return (IfcAnnotationSymbolOccurrence*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTileSymbolWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAnnotationSymbolOccurrence* v1_Symbol) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Symbol)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTileSymbolWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAnnotationSymbolOccurrence* v1_Symbol) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Symbol)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTiles -IfcOneDirectionRepeatFactor* IfcFillAreaStyleTiles::TilingPattern() { return (IfcOneDirectionRepeatFactor*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcFillAreaStyleTiles::Tiles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcFillAreaStyleTiles::setTiles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcFillAreaStyleTiles::Tiles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcFillAreaStyleTiles::setTiles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } void IfcFillAreaStyleTiles::setTilingScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } Type::Enum IfcFillAreaStyleTiles::Class() { return Type::IfcFillAreaStyleTiles; } -IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTiles)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntities v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)); e->setArgument(1,(v2_Tiles)); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTiles)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntityList::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)); e->setArgument(1,(v2_Tiles)); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilterType -IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterType::PredefinedType() { return IfcFilterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilterType::IfcFilterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFilterType::IfcFilterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminalType -IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalType::PredefinedType() { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowController::IfcFlowController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowController::IfcFlowController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowControllerType::IfcFlowControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowControllerType::IfcFlowControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFitting::IfcFlowFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowFitting::IfcFlowFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFittingType::IfcFlowFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowFittingType::IfcFlowFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrumentType -IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentType::PredefinedType() { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrumentType::IfcFlowInstrumentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowInstrumentType::IfcFlowInstrumentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeterType -IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterType::PredefinedType() { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeterType::IfcFlowMeterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMeterType::IfcFlowMeterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDevice::IfcFlowMovingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMovingDevice::IfcFlowMovingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegment::IfcFlowSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowSegment::IfcFlowSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegmentType::IfcFlowSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowSegmentType::IfcFlowSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDevice::IfcFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowStorageDevice::IfcFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminal::IfcFlowTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTerminal::IfcFlowTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminalType::IfcFlowTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTerminalType::IfcFlowTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFluidFlowProperties -IfcPropertySourceEnum::IfcPropertySourceEnum IfcFluidFlowProperties::PropertySource() { return IfcPropertySourceEnum::FromString(*entity->getArgument(4)); } +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() { return !entity->getArgument(5)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::FlowConditionTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::VelocityTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::FlowrateTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } -IfcMaterial* IfcFluidFlowProperties::Fluid() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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() { return !entity->getArgument(9)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::PressureTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcFluidFlowProperties::UserDefinedPropertySource() { return *entity->getArgument(10); } +bool IfcFluidFlowProperties::hasUserDefinedPropertySource() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcFluidFlowProperties::UserDefinedPropertySource() const { return *entity->getArgument(10); } void IfcFluidFlowProperties::setUserDefinedPropertySource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcFluidFlowProperties::hasTemperatureSingleValue() { return !entity->getArgument(11)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcFluidFlowProperties::TemperatureSingleValue() { return *entity->getArgument(11); } +bool IfcFluidFlowProperties::hasTemperatureSingleValue() const { return !entity->getArgument(11)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcFluidFlowProperties::TemperatureSingleValue() const { return *entity->getArgument(11); } void IfcFluidFlowProperties::setTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcFluidFlowProperties::hasWetBulbTemperatureSingleValue() { return !entity->getArgument(12)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcFluidFlowProperties::WetBulbTemperatureSingleValue() { return *entity->getArgument(12); } +bool IfcFluidFlowProperties::hasWetBulbTemperatureSingleValue() const { return !entity->getArgument(12)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { return *entity->getArgument(12); } void IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcFluidFlowProperties::hasWetBulbTemperatureTimeSeries() { return !entity->getArgument(13)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(13))); } +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() { return !entity->getArgument(14)->isNull(); } -IfcTimeSeries* IfcFluidFlowProperties::TemperatureTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(14))); } +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() { return !entity->getArgument(15)->isNull(); } -IfcDerivedMeasureValue IfcFluidFlowProperties::FlowrateSingleValue() { return *entity->getArgument(15); } +bool IfcFluidFlowProperties::hasFlowrateSingleValue() const { return !entity->getArgument(15)->isNull(); } +IfcDerivedMeasureValue IfcFluidFlowProperties::FlowrateSingleValue() const { return *entity->getArgument(15); } void IfcFluidFlowProperties::setFlowrateSingleValue(IfcDerivedMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcFluidFlowProperties::hasFlowConditionSingleValue() { return !entity->getArgument(16)->isNull(); } -IfcPositiveRatioMeasure IfcFluidFlowProperties::FlowConditionSingleValue() { return *entity->getArgument(16); } +bool IfcFluidFlowProperties::hasFlowConditionSingleValue() const { return !entity->getArgument(16)->isNull(); } +IfcPositiveRatioMeasure IfcFluidFlowProperties::FlowConditionSingleValue() const { return *entity->getArgument(16); } void IfcFluidFlowProperties::setFlowConditionSingleValue(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcFluidFlowProperties::hasVelocitySingleValue() { return !entity->getArgument(17)->isNull(); } -IfcLinearVelocityMeasure IfcFluidFlowProperties::VelocitySingleValue() { return *entity->getArgument(17); } +bool IfcFluidFlowProperties::hasVelocitySingleValue() const { return !entity->getArgument(17)->isNull(); } +IfcLinearVelocityMeasure IfcFluidFlowProperties::VelocitySingleValue() const { return *entity->getArgument(17); } void IfcFluidFlowProperties::setVelocitySingleValue(IfcLinearVelocityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcFluidFlowProperties::hasPressureSingleValue() { return !entity->getArgument(18)->isNull(); } -IfcPressureMeasure IfcFluidFlowProperties::PressureSingleValue() { return *entity->getArgument(18); } +bool IfcFluidFlowProperties::hasPressureSingleValue() const { return !entity->getArgument(18)->isNull(); } +IfcPressureMeasure IfcFluidFlowProperties::PressureSingleValue() const { return *entity->getArgument(18); } void IfcFluidFlowProperties::setPressureSingleValue(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFluidFlowProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFluidFlowProperties::IfcFluidFlowProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< IfcLabel > v11_UserDefinedPropertySource, boost::optional< IfcThermodynamicTemperatureMeasure > v12_TemperatureSingleValue, boost::optional< IfcThermodynamicTemperatureMeasure > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue > v16_FlowrateSingleValue, boost::optional< IfcPositiveRatioMeasure > v17_FlowConditionSingleValue, boost::optional< IfcLinearVelocityMeasure > v18_VelocitySingleValue, boost::optional< IfcPressureMeasure > v19_PressureSingleValue) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PropertySource,IfcPropertySourceEnum::ToString(v5_PropertySource)); e->setArgument(5,(v6_FlowConditionTimeSeries)); e->setArgument(6,(v7_VelocityTimeSeries)); e->setArgument(7,(v8_FlowrateTimeSeries)); e->setArgument(8,(v9_Fluid)); e->setArgument(9,(v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) { e->setArgument(10,(*v11_UserDefinedPropertySource)); } else { e->setArgument(10); } if (v12_TemperatureSingleValue) { e->setArgument(11,(*v12_TemperatureSingleValue)); } else { e->setArgument(11); } if (v13_WetBulbTemperatureSingleValue) { e->setArgument(12,(*v13_WetBulbTemperatureSingleValue)); } else { e->setArgument(12); } e->setArgument(13,(v14_WetBulbTemperatureTimeSeries)); e->setArgument(14,(v15_TemperatureTimeSeries)); if (v16_FlowrateSingleValue) { e->setArgument(15,(*v16_FlowrateSingleValue)); } else { e->setArgument(15); } if (v17_FlowConditionSingleValue) { e->setArgument(16,(*v17_FlowConditionSingleValue)); } else { e->setArgument(16); } if (v18_VelocitySingleValue) { e->setArgument(17,(*v18_VelocitySingleValue)); } else { e->setArgument(17); } if (v19_PressureSingleValue) { e->setArgument(18,(*v19_PressureSingleValue)); } else { e->setArgument(18); } entity = e; EntityBuffer::Add(this); } +IfcFluidFlowProperties::IfcFluidFlowProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFluidFlowProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFluidFlowProperties::IfcFluidFlowProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< IfcLabel > v11_UserDefinedPropertySource, boost::optional< IfcThermodynamicTemperatureMeasure > v12_TemperatureSingleValue, boost::optional< IfcThermodynamicTemperatureMeasure > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue > v16_FlowrateSingleValue, boost::optional< IfcPositiveRatioMeasure > v17_FlowConditionSingleValue, boost::optional< IfcLinearVelocityMeasure > v18_VelocitySingleValue, boost::optional< IfcPressureMeasure > v19_PressureSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PropertySource,IfcPropertySourceEnum::ToString(v5_PropertySource)); e->setArgument(5,(v6_FlowConditionTimeSeries)); e->setArgument(6,(v7_VelocityTimeSeries)); e->setArgument(7,(v8_FlowrateTimeSeries)); e->setArgument(8,(v9_Fluid)); e->setArgument(9,(v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) { e->setArgument(10,(*v11_UserDefinedPropertySource)); } else { e->setArgument(10); } if (v12_TemperatureSingleValue) { e->setArgument(11,(*v12_TemperatureSingleValue)); } else { e->setArgument(11); } if (v13_WetBulbTemperatureSingleValue) { e->setArgument(12,(*v13_WetBulbTemperatureSingleValue)); } else { e->setArgument(12); } e->setArgument(13,(v14_WetBulbTemperatureTimeSeries)); e->setArgument(14,(v15_TemperatureTimeSeries)); if (v16_FlowrateSingleValue) { e->setArgument(15,(*v16_FlowrateSingleValue)); } else { e->setArgument(15); } if (v17_FlowConditionSingleValue) { e->setArgument(16,(*v17_FlowConditionSingleValue)); } else { e->setArgument(16); } if (v18_VelocitySingleValue) { e->setArgument(17,(*v18_VelocitySingleValue)); } else { e->setArgument(17); } if (v19_PressureSingleValue) { e->setArgument(18,(*v19_PressureSingleValue)); } else { e->setArgument(18); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFooting -IfcFootingTypeEnum::IfcFootingTypeEnum IfcFooting::PredefinedType() { return IfcFootingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFooting::IfcFooting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFooting::IfcFooting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcFootingTypeEnum::ToString(v9_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFuelProperties -bool IfcFuelProperties::hasCombustionTemperature() { return !entity->getArgument(1)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcFuelProperties::CombustionTemperature() { return *entity->getArgument(1); } +bool IfcFuelProperties::hasCombustionTemperature() const { return !entity->getArgument(1)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcFuelProperties::CombustionTemperature() const { return *entity->getArgument(1); } void IfcFuelProperties::setCombustionTemperature(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFuelProperties::hasCarbonContent() { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcFuelProperties::CarbonContent() { return *entity->getArgument(2); } +bool IfcFuelProperties::hasCarbonContent() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveRatioMeasure IfcFuelProperties::CarbonContent() const { return *entity->getArgument(2); } void IfcFuelProperties::setCarbonContent(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFuelProperties::hasLowerHeatingValue() { return !entity->getArgument(3)->isNull(); } -IfcHeatingValueMeasure IfcFuelProperties::LowerHeatingValue() { return *entity->getArgument(3); } +bool IfcFuelProperties::hasLowerHeatingValue() const { return !entity->getArgument(3)->isNull(); } +IfcHeatingValueMeasure IfcFuelProperties::LowerHeatingValue() const { return *entity->getArgument(3); } void IfcFuelProperties::setLowerHeatingValue(IfcHeatingValueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFuelProperties::hasHigherHeatingValue() { return !entity->getArgument(4)->isNull(); } -IfcHeatingValueMeasure IfcFuelProperties::HigherHeatingValue() { return *entity->getArgument(4); } +bool IfcFuelProperties::hasHigherHeatingValue() const { return !entity->getArgument(4)->isNull(); } +IfcHeatingValueMeasure IfcFuelProperties::HigherHeatingValue() const { return *entity->getArgument(4); } void IfcFuelProperties::setHigherHeatingValue(IfcHeatingValueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcFuelProperties::is(Type::Enum v) const { return v == Type::IfcFuelProperties || IfcMaterialProperties::is(v); } Type::Enum IfcFuelProperties::type() const { return Type::IfcFuelProperties; } Type::Enum IfcFuelProperties::Class() { return Type::IfcFuelProperties; } -IfcFuelProperties::IfcFuelProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFuelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFuelProperties::IfcFuelProperties(IfcMaterial* v1_Material, boost::optional< IfcThermodynamicTemperatureMeasure > v2_CombustionTemperature, boost::optional< IfcPositiveRatioMeasure > v3_CarbonContent, boost::optional< IfcHeatingValueMeasure > v4_LowerHeatingValue, boost::optional< IfcHeatingValueMeasure > v5_HigherHeatingValue) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_CombustionTemperature) { e->setArgument(1,(*v2_CombustionTemperature)); } else { e->setArgument(1); } if (v3_CarbonContent) { e->setArgument(2,(*v3_CarbonContent)); } else { e->setArgument(2); } if (v4_LowerHeatingValue) { e->setArgument(3,(*v4_LowerHeatingValue)); } else { e->setArgument(3); } if (v5_HigherHeatingValue) { e->setArgument(4,(*v5_HigherHeatingValue)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcFuelProperties::IfcFuelProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFuelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFuelProperties::IfcFuelProperties(IfcMaterial* v1_Material, boost::optional< IfcThermodynamicTemperatureMeasure > v2_CombustionTemperature, boost::optional< IfcPositiveRatioMeasure > v3_CarbonContent, boost::optional< IfcHeatingValueMeasure > v4_LowerHeatingValue, boost::optional< IfcHeatingValueMeasure > v5_HigherHeatingValue) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_CombustionTemperature) { e->setArgument(1,(*v2_CombustionTemperature)); } else { e->setArgument(1); } if (v3_CarbonContent) { e->setArgument(2,(*v3_CarbonContent)); } else { e->setArgument(2); } if (v4_LowerHeatingValue) { e->setArgument(3,(*v4_LowerHeatingValue)); } else { e->setArgument(3); } if (v5_HigherHeatingValue) { e->setArgument(4,(*v5_HigherHeatingValue)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElement::IfcFurnishingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnishingElement::IfcFurnishingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElementType::IfcFurnishingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnishingElementType::IfcFurnishingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureStandard bool IfcFurnitureStandard::is(Type::Enum v) const { return v == Type::IfcFurnitureStandard || IfcControl::is(v); } Type::Enum IfcFurnitureStandard::type() const { return Type::IfcFurnitureStandard; } Type::Enum IfcFurnitureStandard::Class() { return Type::IfcFurnitureStandard; } -IfcFurnitureStandard::IfcFurnitureStandard(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnitureStandard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureStandard::IfcFurnitureStandard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcFurnitureStandard::IfcFurnitureStandard(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureStandard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnitureStandard::IfcFurnitureStandard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureType -IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcFurnitureType::AssemblyPlace() { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(9)); } +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::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(IfcAbstractEntityPtr e) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureType::IfcFurnitureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); entity = e; EntityBuffer::Add(this); } +IfcFurnitureType::IfcFurnitureType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnitureType::IfcFurnitureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGasTerminalType -IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum IfcGasTerminalType::PredefinedType() { return IfcGasTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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; } -IfcGasTerminalType::IfcGasTerminalType(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGasTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGasTerminalType::IfcGasTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGasTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcGasTerminalType::IfcGasTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGasTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGasTerminalType::IfcGasTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGasTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeneralMaterialProperties -bool IfcGeneralMaterialProperties::hasMolecularWeight() { return !entity->getArgument(1)->isNull(); } -IfcMolecularWeightMeasure IfcGeneralMaterialProperties::MolecularWeight() { return *entity->getArgument(1); } +bool IfcGeneralMaterialProperties::hasMolecularWeight() const { return !entity->getArgument(1)->isNull(); } +IfcMolecularWeightMeasure IfcGeneralMaterialProperties::MolecularWeight() const { return *entity->getArgument(1); } void IfcGeneralMaterialProperties::setMolecularWeight(IfcMolecularWeightMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcGeneralMaterialProperties::hasPorosity() { return !entity->getArgument(2)->isNull(); } -IfcNormalisedRatioMeasure IfcGeneralMaterialProperties::Porosity() { return *entity->getArgument(2); } +bool IfcGeneralMaterialProperties::hasPorosity() const { return !entity->getArgument(2)->isNull(); } +IfcNormalisedRatioMeasure IfcGeneralMaterialProperties::Porosity() const { return *entity->getArgument(2); } void IfcGeneralMaterialProperties::setPorosity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeneralMaterialProperties::hasMassDensity() { return !entity->getArgument(3)->isNull(); } -IfcMassDensityMeasure IfcGeneralMaterialProperties::MassDensity() { return *entity->getArgument(3); } +bool IfcGeneralMaterialProperties::hasMassDensity() const { return !entity->getArgument(3)->isNull(); } +IfcMassDensityMeasure IfcGeneralMaterialProperties::MassDensity() const { return *entity->getArgument(3); } void IfcGeneralMaterialProperties::setMassDensity(IfcMassDensityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcGeneralMaterialProperties::is(Type::Enum v) const { return v == Type::IfcGeneralMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcGeneralMaterialProperties::type() const { return Type::IfcGeneralMaterialProperties; } Type::Enum IfcGeneralMaterialProperties::Class() { return Type::IfcGeneralMaterialProperties; } -IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeneralMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcMolecularWeightMeasure > v2_MolecularWeight, boost::optional< IfcNormalisedRatioMeasure > v3_Porosity, boost::optional< IfcMassDensityMeasure > v4_MassDensity) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_MolecularWeight) { e->setArgument(1,(*v2_MolecularWeight)); } else { e->setArgument(1); } if (v3_Porosity) { e->setArgument(2,(*v3_Porosity)); } else { e->setArgument(2); } if (v4_MassDensity) { e->setArgument(3,(*v4_MassDensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeneralMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcMolecularWeightMeasure > v2_MolecularWeight, boost::optional< IfcNormalisedRatioMeasure > v3_Porosity, boost::optional< IfcMassDensityMeasure > v4_MassDensity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_MolecularWeight) { e->setArgument(1,(*v2_MolecularWeight)); } else { e->setArgument(1); } if (v3_Porosity) { e->setArgument(2,(*v3_Porosity)); } else { e->setArgument(2); } if (v4_MassDensity) { e->setArgument(3,(*v4_MassDensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeneralProfileProperties -bool IfcGeneralProfileProperties::hasPhysicalWeight() { return !entity->getArgument(2)->isNull(); } -IfcMassPerLengthMeasure IfcGeneralProfileProperties::PhysicalWeight() { return *entity->getArgument(2); } +bool IfcGeneralProfileProperties::hasPhysicalWeight() const { return !entity->getArgument(2)->isNull(); } +IfcMassPerLengthMeasure IfcGeneralProfileProperties::PhysicalWeight() const { return *entity->getArgument(2); } void IfcGeneralProfileProperties::setPhysicalWeight(IfcMassPerLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeneralProfileProperties::hasPerimeter() { return !entity->getArgument(3)->isNull(); } -IfcPositiveLengthMeasure IfcGeneralProfileProperties::Perimeter() { return *entity->getArgument(3); } +bool IfcGeneralProfileProperties::hasPerimeter() const { return !entity->getArgument(3)->isNull(); } +IfcPositiveLengthMeasure IfcGeneralProfileProperties::Perimeter() const { return *entity->getArgument(3); } void IfcGeneralProfileProperties::setPerimeter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcGeneralProfileProperties::hasMinimumPlateThickness() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcGeneralProfileProperties::MinimumPlateThickness() { return *entity->getArgument(4); } +bool IfcGeneralProfileProperties::hasMinimumPlateThickness() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcGeneralProfileProperties::MinimumPlateThickness() const { return *entity->getArgument(4); } void IfcGeneralProfileProperties::setMinimumPlateThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcGeneralProfileProperties::hasMaximumPlateThickness() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcGeneralProfileProperties::MaximumPlateThickness() { return *entity->getArgument(5); } +bool IfcGeneralProfileProperties::hasMaximumPlateThickness() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcGeneralProfileProperties::MaximumPlateThickness() const { return *entity->getArgument(5); } void IfcGeneralProfileProperties::setMaximumPlateThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcGeneralProfileProperties::hasCrossSectionArea() { return !entity->getArgument(6)->isNull(); } -IfcAreaMeasure IfcGeneralProfileProperties::CrossSectionArea() { return *entity->getArgument(6); } +bool IfcGeneralProfileProperties::hasCrossSectionArea() const { return !entity->getArgument(6)->isNull(); } +IfcAreaMeasure IfcGeneralProfileProperties::CrossSectionArea() const { return *entity->getArgument(6); } void IfcGeneralProfileProperties::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcProfileProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeneralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea) : IfcProfileProperties((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeneralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricCurveSet bool IfcGeometricCurveSet::is(Type::Enum v) const { return v == Type::IfcGeometricCurveSet || IfcGeometricSet::is(v); } Type::Enum IfcGeometricCurveSet::type() const { return Type::IfcGeometricCurveSet; } Type::Enum IfcGeometricCurveSet::Class() { return Type::IfcGeometricCurveSet; } -IfcGeometricCurveSet::IfcGeometricCurveSet(IfcAbstractEntityPtr e) : IfcGeometricSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricCurveSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntities v1_Elements) : IfcGeometricSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } +IfcGeometricCurveSet::IfcGeometricCurveSet(IfcAbstractEntity* e) : IfcGeometricSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricCurveSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : IfcGeometricSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationContext -IfcDimensionCount IfcGeometricRepresentationContext::CoordinateSpaceDimension() { return *entity->getArgument(2); } +IfcDimensionCount IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(IfcDimensionCount v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeometricRepresentationContext::hasPrecision() { return !entity->getArgument(3)->isNull(); } -double IfcGeometricRepresentationContext::Precision() { return *entity->getArgument(3); } +bool IfcGeometricRepresentationContext::hasPrecision() const { return !entity->getArgument(3)->isNull(); } +double IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } void IfcGeometricRepresentationContext::setPrecision(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcAxis2Placement IfcGeometricRepresentationContext::WorldCoordinateSystem() { return *entity->getArgument(4); } +IfcAxis2Placement IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return *entity->getArgument(4); } void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcGeometricRepresentationContext::hasTrueNorth() { return !entity->getArgument(5)->isNull(); } -IfcDirection* IfcGeometricRepresentationContext::TrueNorth() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } -IfcGeometricRepresentationSubContext::list IfcGeometricRepresentationContext::HasSubContexts() { RETURN_INVERSE(IfcGeometricRepresentationSubContext) } +IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return entity->getInverse(Type::IfcGeometricRepresentationSubContext)->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(IfcAbstractEntityPtr e) : IfcRepresentationContext((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationItem bool IfcGeometricRepresentationItem::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationItem || IfcRepresentationItem::is(v); } Type::Enum IfcGeometricRepresentationItem::type() const { return Type::IfcGeometricRepresentationItem; } Type::Enum IfcGeometricRepresentationItem::Class() { return Type::IfcGeometricRepresentationItem; } -IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationSubContext -IfcGeometricRepresentationContext* IfcGeometricRepresentationSubContext::ParentContext() { return (IfcGeometricRepresentationContext*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcPositiveRatioMeasure IfcGeometricRepresentationSubContext::TargetScale() { return *entity->getArgument(7); } +bool IfcGeometricRepresentationSubContext::hasTargetScale() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveRatioMeasure IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } void IfcGeometricRepresentationSubContext::setTargetScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricRepresentationSubContext::TargetView() { return IfcGeometricProjectionEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcGeometricRepresentationSubContext::UserDefinedTargetView() { return *entity->getArgument(9); } +bool IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcGeometricRepresentationSubContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationSubContext || IfcGeometricRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::IfcGeometricRepresentationSubContext; } Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } -IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntityPtr e) : IfcGeometricRepresentationContext((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntity* e) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricSet -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcGeometricSet::Elements() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcGeometricSet::setElements(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcGeometricSet::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcGeometricSet::setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } bool IfcGeometricSet::is(Type::Enum v) const { return v == Type::IfcGeometricSet || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcGeometricSet::type() const { return Type::IfcGeometricSet; } Type::Enum IfcGeometricSet::Class() { return Type::IfcGeometricSet; } -IfcGeometricSet::IfcGeometricSet(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricSet::IfcGeometricSet(IfcEntities v1_Elements) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } +IfcGeometricSet::IfcGeometricSet(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricSet::IfcGeometricSet(IfcEntityList::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGrid -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::UAxes() { RETURN_AS_LIST(IfcGridAxis,7) } -void IfcGrid::setUAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::VAxes() { RETURN_AS_LIST(IfcGridAxis,8) } -void IfcGrid::setVAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcGrid::hasWAxes() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::WAxes() { RETURN_AS_LIST(IfcGridAxis,9) } -void IfcGrid::setWAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -IfcRelContainedInSpatialStructure::list IfcGrid::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +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()); } +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()); } +IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->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(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGrid::IfcGrid(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v8_UAxes, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v9_VAxes, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > > v10_WAxes) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGrid::IfcGrid(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridAxis -bool IfcGridAxis::hasAxisTag() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcGridAxis::AxisTag() { return *entity->getArgument(0); } +bool IfcGridAxis::hasAxisTag() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } void IfcGridAxis::setAxisTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCurve* IfcGridAxis::AxisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcCurve* IfcGridAxis::AxisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcGridAxis::setAxisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBoolean IfcGridAxis::SameSense() { return *entity->getArgument(2); } +IfcBoolean IfcGridAxis::SameSense() const { return *entity->getArgument(2); } void IfcGridAxis::setSameSense(IfcBoolean v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcGrid::list IfcGridAxis::PartOfW() { RETURN_INVERSE(IfcGrid) } -IfcGrid::list IfcGridAxis::PartOfV() { RETURN_INVERSE(IfcGrid) } -IfcGrid::list IfcGridAxis::PartOfU() { RETURN_INVERSE(IfcGrid) } -IfcVirtualGridIntersection::list IfcGridAxis::HasIntersections() { RETURN_INVERSE(IfcVirtualGridIntersection) } +IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return entity->getInverse(Type::IfcGrid)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return entity->getInverse(Type::IfcGrid)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return entity->getInverse(Type::IfcGrid)->as(); } +IfcVirtualGridIntersection::list::ptr IfcGridAxis::HasIntersections() const { return entity->getInverse(Type::IfcVirtualGridIntersection)->as(); } bool IfcGridAxis::is(Type::Enum v) const { return v == Type::IfcGridAxis; } Type::Enum IfcGridAxis::type() const { return Type::IfcGridAxis; } Type::Enum IfcGridAxis::Class() { return Type::IfcGridAxis; } -IfcGridAxis::IfcGridAxis(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcGridAxis)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGridAxis::IfcGridAxis(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcGridAxis)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcGridAxis::IfcGridAxis(boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_AxisTag) { e->setArgument(0,(*v1_AxisTag)); } else { e->setArgument(0); } e->setArgument(1,(v2_AxisCurve)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridPlacement -IfcVirtualGridIntersection* IfcGridPlacement::PlacementLocation() { return (IfcVirtualGridIntersection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcVirtualGridIntersection* IfcGridPlacement::PlacementRefDirection() { return (IfcVirtualGridIntersection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcObjectPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); e->setArgument(1,(v2_PlacementRefDirection)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcGroup -IfcRelAssignsToGroup::list IfcGroup::IsGroupedBy() { RETURN_INVERSE(IfcRelAssignsToGroup) } +IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return entity->getInverse(Type::IfcRelAssignsToGroup)->as(); } bool IfcGroup::is(Type::Enum v) const { return v == Type::IfcGroup || IfcObject::is(v); } Type::Enum IfcGroup::type() const { return Type::IfcGroup; } Type::Enum IfcGroup::Class() { return Type::IfcGroup; } -IfcGroup::IfcGroup(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGroup::IfcGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } 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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGroup::IfcGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHalfSpaceSolid -IfcSurface* IfcHalfSpaceSolid::BaseSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -bool IfcHalfSpaceSolid::AgreementFlag() { return *entity->getArgument(1); } +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); } 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; } -IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHalfSpaceSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); entity = e; EntityBuffer::Add(this); } +IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHalfSpaceSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcHeatExchangerType -IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchangerType::PredefinedType() { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchangerType::IfcHeatExchangerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHeatExchangerType::IfcHeatExchangerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifierType -IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierType::PredefinedType() { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifierType::IfcHumidifierType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHumidifierType::IfcHumidifierType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHygroscopicMaterialProperties -bool IfcHygroscopicMaterialProperties::hasUpperVaporResistanceFactor() { return !entity->getArgument(1)->isNull(); } -IfcPositiveRatioMeasure IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() { return *entity->getArgument(1); } +bool IfcHygroscopicMaterialProperties::hasUpperVaporResistanceFactor() const { return !entity->getArgument(1)->isNull(); } +IfcPositiveRatioMeasure IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { return *entity->getArgument(1); } void IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcHygroscopicMaterialProperties::hasLowerVaporResistanceFactor() { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() { return *entity->getArgument(2); } +bool IfcHygroscopicMaterialProperties::hasLowerVaporResistanceFactor() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveRatioMeasure IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { return *entity->getArgument(2); } void IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcHygroscopicMaterialProperties::hasIsothermalMoistureCapacity() { return !entity->getArgument(3)->isNull(); } -IfcIsothermalMoistureCapacityMeasure IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() { return *entity->getArgument(3); } +bool IfcHygroscopicMaterialProperties::hasIsothermalMoistureCapacity() const { return !entity->getArgument(3)->isNull(); } +IfcIsothermalMoistureCapacityMeasure IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { return *entity->getArgument(3); } void IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(IfcIsothermalMoistureCapacityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcHygroscopicMaterialProperties::hasVaporPermeability() { return !entity->getArgument(4)->isNull(); } -IfcVaporPermeabilityMeasure IfcHygroscopicMaterialProperties::VaporPermeability() { return *entity->getArgument(4); } +bool IfcHygroscopicMaterialProperties::hasVaporPermeability() const { return !entity->getArgument(4)->isNull(); } +IfcVaporPermeabilityMeasure IfcHygroscopicMaterialProperties::VaporPermeability() const { return *entity->getArgument(4); } void IfcHygroscopicMaterialProperties::setVaporPermeability(IfcVaporPermeabilityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcHygroscopicMaterialProperties::hasMoistureDiffusivity() { return !entity->getArgument(5)->isNull(); } -IfcMoistureDiffusivityMeasure IfcHygroscopicMaterialProperties::MoistureDiffusivity() { return *entity->getArgument(5); } +bool IfcHygroscopicMaterialProperties::hasMoistureDiffusivity() const { return !entity->getArgument(5)->isNull(); } +IfcMoistureDiffusivityMeasure IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { return *entity->getArgument(5); } void IfcHygroscopicMaterialProperties::setMoistureDiffusivity(IfcMoistureDiffusivityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcHygroscopicMaterialProperties::is(Type::Enum v) const { return v == Type::IfcHygroscopicMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcHygroscopicMaterialProperties::type() const { return Type::IfcHygroscopicMaterialProperties; } Type::Enum IfcHygroscopicMaterialProperties::Class() { return Type::IfcHygroscopicMaterialProperties; } -IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHygroscopicMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_UpperVaporResistanceFactor, boost::optional< IfcPositiveRatioMeasure > v3_LowerVaporResistanceFactor, boost::optional< IfcIsothermalMoistureCapacityMeasure > v4_IsothermalMoistureCapacity, boost::optional< IfcVaporPermeabilityMeasure > v5_VaporPermeability, boost::optional< IfcMoistureDiffusivityMeasure > v6_MoistureDiffusivity) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_UpperVaporResistanceFactor) { e->setArgument(1,(*v2_UpperVaporResistanceFactor)); } else { e->setArgument(1); } if (v3_LowerVaporResistanceFactor) { e->setArgument(2,(*v3_LowerVaporResistanceFactor)); } else { e->setArgument(2); } if (v4_IsothermalMoistureCapacity) { e->setArgument(3,(*v4_IsothermalMoistureCapacity)); } else { e->setArgument(3); } if (v5_VaporPermeability) { e->setArgument(4,(*v5_VaporPermeability)); } else { e->setArgument(4); } if (v6_MoistureDiffusivity) { e->setArgument(5,(*v6_MoistureDiffusivity)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHygroscopicMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_UpperVaporResistanceFactor, boost::optional< IfcPositiveRatioMeasure > v3_LowerVaporResistanceFactor, boost::optional< IfcIsothermalMoistureCapacityMeasure > v4_IsothermalMoistureCapacity, boost::optional< IfcVaporPermeabilityMeasure > v5_VaporPermeability, boost::optional< IfcMoistureDiffusivityMeasure > v6_MoistureDiffusivity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_UpperVaporResistanceFactor) { e->setArgument(1,(*v2_UpperVaporResistanceFactor)); } else { e->setArgument(1); } if (v3_LowerVaporResistanceFactor) { e->setArgument(2,(*v3_LowerVaporResistanceFactor)); } else { e->setArgument(2); } if (v4_IsothermalMoistureCapacity) { e->setArgument(3,(*v4_IsothermalMoistureCapacity)); } else { e->setArgument(3); } if (v5_VaporPermeability) { e->setArgument(4,(*v5_VaporPermeability)); } else { e->setArgument(4); } if (v6_MoistureDiffusivity) { e->setArgument(5,(*v6_MoistureDiffusivity)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIShapeProfileDef -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallWidth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } void IfcIShapeProfileDef::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallDepth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } void IfcIShapeProfileDef::setOverallDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcIShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcIShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcIShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcIShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcIShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcIShapeProfileDef::IfcIShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcImageTexture -IfcIdentifier IfcImageTexture::UrlReference() { return *entity->getArgument(4); } +IfcIdentifier IfcImageTexture::UrlReference() const { return *entity->getArgument(4); } void IfcImageTexture::setUrlReference(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcSurfaceTexture((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_UrlReference) : IfcSurfaceTexture((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_UrlReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_UrlReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInventory -IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::InventoryType() { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } +IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::InventoryType() const { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } void IfcInventory::setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcInventoryTypeEnum::ToString(v)); } -IfcActorSelect IfcInventory::Jurisdiction() { return *entity->getArgument(6); } +IfcActorSelect IfcInventory::Jurisdiction() const { return *entity->getArgument(6); } void IfcInventory::setJurisdiction(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > IfcInventory::ResponsiblePersons() { RETURN_AS_LIST(IfcPerson,7) } -void IfcInventory::setResponsiblePersons(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -IfcCalendarDate* IfcInventory::LastUpdateDate() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +IfcTemplatedEntityList< IfcPerson >::ptr IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +IfcCalendarDate* IfcInventory::LastUpdateDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcInventory::setLastUpdateDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcInventory::hasCurrentValue() { return !entity->getArgument(9)->isNull(); } -IfcCostValue* IfcInventory::CurrentValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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() { return !entity->getArgument(10)->isNull(); } -IfcCostValue* IfcInventory::OriginalValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInventory::IfcInventory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect v7_Jurisdiction, SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcInventory::IfcInventory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_InventoryType,IfcInventoryTypeEnum::ToString(v6_InventoryType)); e->setArgument(6,(v7_Jurisdiction)); e->setArgument(7,(v8_ResponsiblePersons)->generalize()); e->setArgument(8,(v9_LastUpdateDate)); e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeries -SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > IfcIrregularTimeSeries::Values() { RETURN_AS_LIST(IfcIrregularTimeSeriesValue,8) } -void IfcIrregularTimeSeries::setValues(SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +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()); } bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntityPtr e) : IfcTimeSeries((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v9_Values) : IfcTimeSeries((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeriesValue -IfcDateTimeSelect IfcIrregularTimeSeriesValue::TimeStamp() { return *entity->getArgument(0); } +IfcDateTimeSelect IfcIrregularTimeSeriesValue::TimeStamp() const { return *entity->getArgument(0); } void IfcIrregularTimeSeriesValue::setTimeStamp(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcIrregularTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcIrregularTimeSeriesValue::setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcIrregularTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcIrregularTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcIrregularTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::type() const { return Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::Class() { return Type::IfcIrregularTimeSeriesValue; } -IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTimeSelect v1_TimeStamp, IfcEntities v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTimeSelect v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBoxType -IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxType::PredefinedType() { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBoxType::IfcJunctionBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcJunctionBoxType::IfcJunctionBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLShapeProfileDef -IfcPositiveLengthMeasure IfcLShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcLShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLShapeProfileDef::hasWidth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Width() { return *entity->getArgument(4); } +bool IfcLShapeProfileDef::hasWidth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } void IfcLShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Thickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } void IfcLShapeProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcLShapeProfileDef::hasFilletRadius() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::FilletRadius() { return *entity->getArgument(6); } +bool IfcLShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } void IfcLShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcLShapeProfileDef::hasEdgeRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::EdgeRadius() { return *entity->getArgument(7); } +bool IfcLShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } void IfcLShapeProfileDef::setEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcLShapeProfileDef::hasLegSlope() { return !entity->getArgument(8)->isNull(); } -IfcPlaneAngleMeasure IfcLShapeProfileDef::LegSlope() { return *entity->getArgument(8); } +bool IfcLShapeProfileDef::hasLegSlope() const { return !entity->getArgument(8)->isNull(); } +IfcPlaneAngleMeasure IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } void IfcLShapeProfileDef::setLegSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcLShapeProfileDef::hasCentreOfGravityInX() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::CentreOfGravityInX() { return *entity->getArgument(9); } +bool IfcLShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(9); } void IfcLShapeProfileDef::setCentreOfGravityInX(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcLShapeProfileDef::hasCentreOfGravityInY() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::CentreOfGravityInY() { return *entity->getArgument(10); } +bool IfcLShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(10); } void IfcLShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcPositiveLengthMeasure > v7_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope, boost::optional< IfcPositiveLengthMeasure > v10_CentreOfGravityInX, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } if (v10_CentreOfGravityInX) { e->setArgument(9,(*v10_CentreOfGravityInX)); } else { e->setArgument(9); } if (v11_CentreOfGravityInY) { e->setArgument(10,(*v11_CentreOfGravityInY)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcLShapeProfileDef::IfcLShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcPositiveLengthMeasure > v7_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope, boost::optional< IfcPositiveLengthMeasure > v10_CentreOfGravityInX, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } if (v10_CentreOfGravityInX) { e->setArgument(9,(*v10_CentreOfGravityInX)); } else { e->setArgument(9); } if (v11_CentreOfGravityInY) { e->setArgument(10,(*v11_CentreOfGravityInY)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResource -bool IfcLaborResource::hasSkillSet() { return !entity->getArgument(9)->isNull(); } -IfcText IfcLaborResource::SkillSet() { return *entity->getArgument(9); } +bool IfcLaborResource::hasSkillSet() const { return !entity->getArgument(9)->isNull(); } +IfcText IfcLaborResource::SkillSet() const { return *entity->getArgument(9); } void IfcLaborResource::setSkillSet(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResource::IfcLaborResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcText > v10_SkillSet) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLaborResource::IfcLaborResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcText > v10_SkillSet) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SkillSet) { e->setArgument(9,(*v10_SkillSet)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLampType -IfcLampTypeEnum::IfcLampTypeEnum IfcLampType::PredefinedType() { return IfcLampTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLampType::IfcLampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLampType::IfcLampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryInformation -IfcLabel IfcLibraryInformation::Name() { return *entity->getArgument(0); } +IfcLabel IfcLibraryInformation::Name() const { return *entity->getArgument(0); } void IfcLibraryInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcLibraryInformation::hasVersion() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcLibraryInformation::Version() { return *entity->getArgument(1); } +bool IfcLibraryInformation::hasVersion() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcLibraryInformation::Version() const { return *entity->getArgument(1); } void IfcLibraryInformation::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLibraryInformation::hasPublisher() { return !entity->getArgument(2)->isNull(); } -IfcOrganization* IfcLibraryInformation::Publisher() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -IfcCalendarDate* IfcLibraryInformation::VersionDate() { return (IfcCalendarDate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > IfcLibraryInformation::LibraryReference() { RETURN_AS_LIST(IfcLibraryReference,4) } -void IfcLibraryInformation::setLibraryReference(SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryInformation::IfcLibraryInformation(IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > > 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(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLibraryInformation::IfcLibraryInformation(IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } e->setArgument(2,(v3_Publisher)); e->setArgument(3,(v4_VersionDate)); if (v5_LibraryReference) { e->setArgument(4,(*v5_LibraryReference)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryReference -IfcLibraryInformation::list IfcLibraryReference::ReferenceIntoLibrary() { RETURN_INVERSE(IfcLibraryInformation) } +IfcLibraryInformation::list::ptr IfcLibraryReference::ReferenceIntoLibrary() const { return entity->getInverse(Type::IfcLibraryInformation)->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(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryReference::IfcLibraryReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcLibraryReference::IfcLibraryReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLibraryReference::IfcLibraryReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightDistributionData -IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() { return *entity->getArgument(0); } +IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } void IfcLightDistributionData::setMainPlaneAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() { return *entity->getArgument(1); } +std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() { return *entity->getArgument(2); } +std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } void IfcLightDistributionData::setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcLightDistributionData::is(Type::Enum v) const { return v == Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::type() const { return Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::Class() { return Type::IfcLightDistributionData; } -IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightDistributionData)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightDistributionData)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcLightDistributionData::IfcLightDistributionData(IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixtureType -IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureType::PredefinedType() { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixtureType::IfcLightFixtureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightFixtureType::IfcLightFixtureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightIntensityDistribution -IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } +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)); } -SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > IfcLightIntensityDistribution::DistributionData() { RETURN_AS_LIST(IfcLightDistributionData,1) } -void IfcLightIntensityDistribution::setDistributionData(SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightIntensityDistribution)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > 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); } +IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightIntensityDistribution)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcLightSource::Name() { return *entity->getArgument(0); } +bool IfcLightSource::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcLightSource::Name() const { return *entity->getArgument(0); } void IfcLightSource::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcColourRgb* IfcLightSource::LightColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::AmbientIntensity() { return *entity->getArgument(2); } +bool IfcLightSource::hasAmbientIntensity() const { return !entity->getArgument(2)->isNull(); } +IfcNormalisedRatioMeasure IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } void IfcLightSource::setAmbientIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLightSource::hasIntensity() { return !entity->getArgument(3)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::Intensity() { return *entity->getArgument(3); } +bool IfcLightSource::hasIntensity() const { return !entity->getArgument(3)->isNull(); } +IfcNormalisedRatioMeasure IfcLightSource::Intensity() const { return *entity->getArgument(3); } void IfcLightSource::setIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLightSource::is(Type::Enum v) const { return v == Type::IfcLightSource || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcLightSource::type() const { return Type::IfcLightSource; } Type::Enum IfcLightSource::Class() { return Type::IfcLightSource; } -IfcLightSource::IfcLightSource(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSource::IfcLightSource(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSource::IfcLightSource(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSource::IfcLightSource(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceAmbient bool IfcLightSourceAmbient::is(Type::Enum v) const { return v == Type::IfcLightSourceAmbient || IfcLightSource::is(v); } Type::Enum IfcLightSourceAmbient::type() const { return Type::IfcLightSourceAmbient; } Type::Enum IfcLightSourceAmbient::Class() { return Type::IfcLightSourceAmbient; } -IfcLightSourceAmbient::IfcLightSourceAmbient(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceAmbient)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcLightSource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSourceAmbient::IfcLightSourceAmbient(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceAmbient)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceDirectional -IfcDirection* IfcLightSourceDirectional::Orientation() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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; } -IfcLightSourceDirectional::IfcLightSourceDirectional(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceDirectional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceDirectional::IfcLightSourceDirectional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceDirectional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceGoniometric -IfcAxis2Placement3D* IfcLightSourceGoniometric::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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() { return !entity->getArgument(5)->isNull(); } -IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +bool IfcLightSourceGoniometric::hasColourAppearance() const { return !entity->getArgument(5)->isNull(); } +IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcLightSourceGoniometric::setColourAppearance(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcThermodynamicTemperatureMeasure IfcLightSourceGoniometric::ColourTemperature() { return *entity->getArgument(6); } +IfcThermodynamicTemperatureMeasure IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } void IfcLightSourceGoniometric::setColourTemperature(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcLuminousFluxMeasure IfcLightSourceGoniometric::LuminousFlux() { return *entity->getArgument(7); } +IfcLuminousFluxMeasure IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } void IfcLightSourceGoniometric::setLuminousFlux(IfcLuminousFluxMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } +IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() const { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } void IfcLightSourceGoniometric::setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v)); } -IfcLightDistributionDataSourceSelect IfcLightSourceGoniometric::LightDistributionDataSource() { return *entity->getArgument(9); } +IfcLightDistributionDataSourceSelect IfcLightSourceGoniometric::LightDistributionDataSource() const { return *entity->getArgument(9); } void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourcePositional -IfcCartesianPoint* IfcLightSourcePositional::Position() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +IfcCartesianPoint* IfcLightSourcePositional::Position() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcLightSourcePositional::setPosition(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLightSourcePositional::Radius() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } void IfcLightSourcePositional::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcReal IfcLightSourcePositional::ConstantAttenuation() { return *entity->getArgument(6); } +IfcReal IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } void IfcLightSourcePositional::setConstantAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcReal IfcLightSourcePositional::DistanceAttenuation() { return *entity->getArgument(7); } +IfcReal IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } void IfcLightSourcePositional::setDistanceAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcReal IfcLightSourcePositional::QuadricAttenuation() { return *entity->getArgument(8); } +IfcReal IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } void IfcLightSourcePositional::setQuadricAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcLightSourcePositional::is(Type::Enum v) const { return v == Type::IfcLightSourcePositional || IfcLightSource::is(v); } Type::Enum IfcLightSourcePositional::type() const { return Type::IfcLightSourcePositional; } Type::Enum IfcLightSourcePositional::Class() { return Type::IfcLightSourcePositional; } -IfcLightSourcePositional::IfcLightSourcePositional(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourcePositional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourcePositional::IfcLightSourcePositional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourcePositional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceSpot -IfcDirection* IfcLightSourceSpot::Orientation() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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() { return !entity->getArgument(10)->isNull(); } -IfcReal IfcLightSourceSpot::ConcentrationExponent() { return *entity->getArgument(10); } +bool IfcLightSourceSpot::hasConcentrationExponent() const { return !entity->getArgument(10)->isNull(); } +IfcReal IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } void IfcLightSourceSpot::setConcentrationExponent(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::SpreadAngle() { return *entity->getArgument(11); } +IfcPositivePlaneAngleMeasure IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } void IfcLightSourceSpot::setSpreadAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::BeamWidthAngle() { return *entity->getArgument(12); } +IfcPositivePlaneAngleMeasure IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } void IfcLightSourceSpot::setBeamWidthAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcLightSourceSpot::is(Type::Enum v) const { return v == Type::IfcLightSourceSpot || IfcLightSourcePositional::is(v); } Type::Enum IfcLightSourceSpot::type() const { return Type::IfcLightSourceSpot; } Type::Enum IfcLightSourceSpot::Class() { return Type::IfcLightSourceSpot; } -IfcLightSourceSpot::IfcLightSourceSpot(IfcAbstractEntityPtr e) : IfcLightSourcePositional((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceSpot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceSpot::IfcLightSourceSpot(IfcAbstractEntity* e) : IfcLightSourcePositional((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceSpot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLine -IfcCartesianPoint* IfcLine::Pnt() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcVector* IfcLine::Dir() { return (IfcVector*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcLine::IfcLine(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLine::IfcLine(IfcCartesianPoint* v1_Pnt, IfcVector* v2_Dir) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Pnt)); e->setArgument(1,(v2_Dir)); entity = e; EntityBuffer::Add(this); } +IfcLine::IfcLine(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcLinearDimension bool IfcLinearDimension::is(Type::Enum v) const { return v == Type::IfcLinearDimension || IfcDimensionCurveDirectedCallout::is(v); } Type::Enum IfcLinearDimension::type() const { return Type::IfcLinearDimension; } Type::Enum IfcLinearDimension::Class() { return Type::IfcLinearDimension; } -IfcLinearDimension::IfcLinearDimension(IfcAbstractEntityPtr e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLinearDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLinearDimension::IfcLinearDimension(IfcEntities v1_Contents) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcLinearDimension::IfcLinearDimension(IfcAbstractEntity* e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLinearDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() { return (IfcObjectPlacement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +bool IfcLocalPlacement::hasPlacementRelTo() const { return !entity->getArgument(0)->isNull(); } +IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcLocalPlacement::setPlacementRelTo(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcLocalPlacement::RelativePlacement() { return *entity->getArgument(1); } +IfcAxis2Placement IfcLocalPlacement::RelativePlacement() const { return *entity->getArgument(1); } void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcObjectPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcLocalTime -IfcHourInDay IfcLocalTime::HourComponent() { return *entity->getArgument(0); } +IfcHourInDay IfcLocalTime::HourComponent() const { return *entity->getArgument(0); } void IfcLocalTime::setHourComponent(IfcHourInDay v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcLocalTime::hasMinuteComponent() { return !entity->getArgument(1)->isNull(); } -IfcMinuteInHour IfcLocalTime::MinuteComponent() { return *entity->getArgument(1); } +bool IfcLocalTime::hasMinuteComponent() const { return !entity->getArgument(1)->isNull(); } +IfcMinuteInHour IfcLocalTime::MinuteComponent() const { return *entity->getArgument(1); } void IfcLocalTime::setMinuteComponent(IfcMinuteInHour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLocalTime::hasSecondComponent() { return !entity->getArgument(2)->isNull(); } -IfcSecondInMinute IfcLocalTime::SecondComponent() { return *entity->getArgument(2); } +bool IfcLocalTime::hasSecondComponent() const { return !entity->getArgument(2)->isNull(); } +IfcSecondInMinute IfcLocalTime::SecondComponent() const { return *entity->getArgument(2); } void IfcLocalTime::setSecondComponent(IfcSecondInMinute v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLocalTime::hasZone() { return !entity->getArgument(3)->isNull(); } -IfcCoordinatedUniversalTimeOffset* IfcLocalTime::Zone() { return (IfcCoordinatedUniversalTimeOffset*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcDaylightSavingHour IfcLocalTime::DaylightSavingOffset() { return *entity->getArgument(4); } +bool IfcLocalTime::hasDaylightSavingOffset() const { return !entity->getArgument(4)->isNull(); } +IfcDaylightSavingHour IfcLocalTime::DaylightSavingOffset() const { return *entity->getArgument(4); } void IfcLocalTime::setDaylightSavingOffset(IfcDaylightSavingHour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLocalTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLocalTime::IfcLocalTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLocalTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcLocalTime::IfcLocalTime(IfcHourInDay v1_HourComponent, boost::optional< IfcMinuteInHour > v2_MinuteComponent, boost::optional< IfcSecondInMinute > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< IfcDaylightSavingHour > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourComponent)); if (v2_MinuteComponent) { e->setArgument(1,(*v2_MinuteComponent)); } else { e->setArgument(1); } if (v3_SecondComponent) { e->setArgument(2,(*v3_SecondComponent)); } else { e->setArgument(2); } e->setArgument(3,(v4_Zone)); if (v5_DaylightSavingOffset) { e->setArgument(4,(*v5_DaylightSavingOffset)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLoop bool IfcLoop::is(Type::Enum v) const { return v == Type::IfcLoop || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcLoop::type() const { return Type::IfcLoop; } Type::Enum IfcLoop::Class() { return Type::IfcLoop; } -IfcLoop::IfcLoop(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcLoop::IfcLoop(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcManifoldSolidBrep -IfcClosedShell* IfcManifoldSolidBrep::Outer() { return (IfcClosedShell*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcManifoldSolidBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } +IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcManifoldSolidBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMappedItem -IfcRepresentationMap* IfcMappedItem::MappingSource() { return (IfcRepresentationMap*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcCartesianTransformationOperator* IfcMappedItem::MappingTarget() { return (IfcCartesianTransformationOperator*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcMappedItem::IfcMappedItem(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMappedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingSource)); e->setArgument(1,(v2_MappingTarget)); entity = e; EntityBuffer::Add(this); } +IfcMappedItem::IfcMappedItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMappedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingSource)); e->setArgument(1,(v2_MappingTarget)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterial -IfcLabel IfcMaterial::Name() { return *entity->getArgument(0); } +IfcLabel IfcMaterial::Name() const { return *entity->getArgument(0); } void IfcMaterial::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcMaterialDefinitionRepresentation::list IfcMaterial::HasRepresentation() { RETURN_INVERSE(IfcMaterialDefinitionRepresentation) } -IfcMaterialClassificationRelationship::list IfcMaterial::ClassifiedAs() { RETURN_INVERSE(IfcMaterialClassificationRelationship) } +IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return entity->getInverse(Type::IfcMaterialDefinitionRepresentation)->as(); } +IfcMaterialClassificationRelationship::list::ptr IfcMaterial::ClassifiedAs() const { return entity->getInverse(Type::IfcMaterialClassificationRelationship)->as(); } bool IfcMaterial::is(Type::Enum v) const { return v == Type::IfcMaterial; } Type::Enum IfcMaterial::type() const { return Type::IfcMaterial; } Type::Enum IfcMaterial::Class() { return Type::IfcMaterial; } -IfcMaterial::IfcMaterial(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterial::IfcMaterial(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMaterial::IfcMaterial(IfcLabel v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialClassificationRelationship -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcMaterialClassificationRelationship::MaterialClassifications() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcMaterialClassificationRelationship::setMaterialClassifications(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcMaterialClassificationRelationship::setClassifiedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::type() const { return Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::Class() { return Type::IfcMaterialClassificationRelationship; } -IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialClassificationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntities 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); } +IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialClassificationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcMaterialDefinitionRepresentation -IfcMaterial* IfcMaterialDefinitionRepresentation::RepresentedMaterial() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbstractEntityPtr e) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialDefinitionRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } +IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialDefinitionRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayer -bool IfcMaterialLayer::hasMaterial() { return !entity->getArgument(0)->isNull(); } -IfcMaterial* IfcMaterialLayer::Material() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +bool IfcMaterialLayer::hasMaterial() const { return !entity->getArgument(0)->isNull(); } +IfcMaterial* IfcMaterialLayer::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcMaterialLayer::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcMaterialLayer::LayerThickness() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } void IfcMaterialLayer::setLayerThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialLayer::hasIsVentilated() { return !entity->getArgument(2)->isNull(); } -IfcLogical IfcMaterialLayer::IsVentilated() { return *entity->getArgument(2); } +bool IfcMaterialLayer::hasIsVentilated() const { return !entity->getArgument(2)->isNull(); } +IfcLogical IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } void IfcMaterialLayer::setIsVentilated(IfcLogical v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcMaterialLayerSet::list IfcMaterialLayer::ToMaterialLayerSet() { RETURN_INVERSE(IfcMaterialLayerSet) } +IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return entity->getInverse(Type::IfcMaterialLayerSet)->as(); } bool IfcMaterialLayer::is(Type::Enum v) const { return v == Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } -IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, IfcPositiveLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSet -SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > IfcMaterialLayerSet::MaterialLayers() { RETURN_AS_LIST(IfcMaterialLayer,0) } -void IfcMaterialLayerSet::setMaterialLayers(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcMaterialLayerSet::hasLayerSetName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcMaterialLayerSet::LayerSetName() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcMaterialLayer >::ptr IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +bool IfcMaterialLayerSet::hasLayerSetName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } void IfcMaterialLayerSet::setLayerSetName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::type() const { return Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::Class() { return Type::IfcMaterialLayerSet; } -IfcMaterialLayerSet::IfcMaterialLayerSet(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayerSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSet::IfcMaterialLayerSet(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSet::IfcMaterialLayerSet(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayerSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSetUsage -IfcMaterialLayerSet* IfcMaterialLayerSetUsage::ForLayerSet() { return (IfcMaterialLayerSet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerSetUsage::LayerSetDirection() { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(1)); } +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)); } -IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } +IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() const { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } void IfcMaterialLayerSetUsage::setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcDirectionSenseEnum::ToString(v)); } -IfcLengthMeasure IfcMaterialLayerSetUsage::OffsetFromReferenceLine() { return *entity->getArgument(3); } +IfcLengthMeasure IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialLayerSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } -IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialList -SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > IfcMaterialList::Materials() { RETURN_AS_LIST(IfcMaterial,0) } -void IfcMaterialList::setMaterials(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcMaterialList::IfcMaterialList(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialList::IfcMaterialList(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v1_Materials) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Materials)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcMaterialList::IfcMaterialList(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcMaterialProperties -IfcMaterial* IfcMaterialProperties::Material() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcMaterialProperties::IfcMaterialProperties(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProperties::IfcMaterialProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMaterialProperties::IfcMaterialProperties(IfcMaterial* v1_Material) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMeasureWithUnit -IfcValue IfcMeasureWithUnit::ValueComponent() { return *entity->getArgument(0); } +IfcValue IfcMeasureWithUnit::ValueComponent() const { return *entity->getArgument(0); } void IfcMeasureWithUnit::setValueComponent(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcUnit IfcMeasureWithUnit::UnitComponent() { return *entity->getArgument(1); } +IfcUnit IfcMeasureWithUnit::UnitComponent() const { return *entity->getArgument(1); } void IfcMeasureWithUnit::setUnitComponent(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMeasureWithUnit::is(Type::Enum v) const { return v == Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::type() const { return Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::Class() { return Type::IfcMeasureWithUnit; } -IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMeasureWithUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMeasureWithUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalConcreteMaterialProperties -bool IfcMechanicalConcreteMaterialProperties::hasCompressiveStrength() { return !entity->getArgument(6)->isNull(); } -IfcPressureMeasure IfcMechanicalConcreteMaterialProperties::CompressiveStrength() { return *entity->getArgument(6); } +bool IfcMechanicalConcreteMaterialProperties::hasCompressiveStrength() const { return !entity->getArgument(6)->isNull(); } +IfcPressureMeasure IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { return *entity->getArgument(6); } void IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcMechanicalConcreteMaterialProperties::hasMaxAggregateSize() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() { return *entity->getArgument(7); } +bool IfcMechanicalConcreteMaterialProperties::hasMaxAggregateSize() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { return *entity->getArgument(7); } void IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcMechanicalConcreteMaterialProperties::hasAdmixturesDescription() { return !entity->getArgument(8)->isNull(); } -IfcText IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() { return *entity->getArgument(8); } +bool IfcMechanicalConcreteMaterialProperties::hasAdmixturesDescription() const { return !entity->getArgument(8)->isNull(); } +IfcText IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { return *entity->getArgument(8); } void IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalConcreteMaterialProperties::hasWorkability() { return !entity->getArgument(9)->isNull(); } -IfcText IfcMechanicalConcreteMaterialProperties::Workability() { return *entity->getArgument(9); } +bool IfcMechanicalConcreteMaterialProperties::hasWorkability() const { return !entity->getArgument(9)->isNull(); } +IfcText IfcMechanicalConcreteMaterialProperties::Workability() const { return *entity->getArgument(9); } void IfcMechanicalConcreteMaterialProperties::setWorkability(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMechanicalConcreteMaterialProperties::hasProtectivePoreRatio() { return !entity->getArgument(10)->isNull(); } -IfcNormalisedRatioMeasure IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() { return *entity->getArgument(10); } +bool IfcMechanicalConcreteMaterialProperties::hasProtectivePoreRatio() const { return !entity->getArgument(10)->isNull(); } +IfcNormalisedRatioMeasure IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { return *entity->getArgument(10); } void IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcMechanicalConcreteMaterialProperties::hasWaterImpermeability() { return !entity->getArgument(11)->isNull(); } -IfcText IfcMechanicalConcreteMaterialProperties::WaterImpermeability() { return *entity->getArgument(11); } +bool IfcMechanicalConcreteMaterialProperties::hasWaterImpermeability() const { return !entity->getArgument(11)->isNull(); } +IfcText IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { return *entity->getArgument(11); } void IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcMechanicalConcreteMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalConcreteMaterialProperties || IfcMechanicalMaterialProperties::is(v); } Type::Enum IfcMechanicalConcreteMaterialProperties::type() const { return Type::IfcMechanicalConcreteMaterialProperties; } Type::Enum IfcMechanicalConcreteMaterialProperties::Class() { return Type::IfcMechanicalConcreteMaterialProperties; } -IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcAbstractEntityPtr e) : IfcMechanicalMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalConcreteMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_CompressiveStrength, boost::optional< IfcPositiveLengthMeasure > v8_MaxAggregateSize, boost::optional< IfcText > v9_AdmixturesDescription, boost::optional< IfcText > v10_Workability, boost::optional< IfcNormalisedRatioMeasure > v11_ProtectivePoreRatio, boost::optional< IfcText > v12_WaterImpermeability) : IfcMechanicalMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_CompressiveStrength) { e->setArgument(6,(*v7_CompressiveStrength)); } else { e->setArgument(6); } if (v8_MaxAggregateSize) { e->setArgument(7,(*v8_MaxAggregateSize)); } else { e->setArgument(7); } if (v9_AdmixturesDescription) { e->setArgument(8,(*v9_AdmixturesDescription)); } else { e->setArgument(8); } if (v10_Workability) { e->setArgument(9,(*v10_Workability)); } else { e->setArgument(9); } if (v11_ProtectivePoreRatio) { e->setArgument(10,(*v11_ProtectivePoreRatio)); } else { e->setArgument(10); } if (v12_WaterImpermeability) { e->setArgument(11,(*v12_WaterImpermeability)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcAbstractEntity* e) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalConcreteMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_CompressiveStrength, boost::optional< IfcPositiveLengthMeasure > v8_MaxAggregateSize, boost::optional< IfcText > v9_AdmixturesDescription, boost::optional< IfcText > v10_Workability, boost::optional< IfcNormalisedRatioMeasure > v11_ProtectivePoreRatio, boost::optional< IfcText > v12_WaterImpermeability) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_CompressiveStrength) { e->setArgument(6,(*v7_CompressiveStrength)); } else { e->setArgument(6); } if (v8_MaxAggregateSize) { e->setArgument(7,(*v8_MaxAggregateSize)); } else { e->setArgument(7); } if (v9_AdmixturesDescription) { e->setArgument(8,(*v9_AdmixturesDescription)); } else { e->setArgument(8); } if (v10_Workability) { e->setArgument(9,(*v10_Workability)); } else { e->setArgument(9); } if (v11_ProtectivePoreRatio) { e->setArgument(10,(*v11_ProtectivePoreRatio)); } else { e->setArgument(10); } if (v12_WaterImpermeability) { e->setArgument(11,(*v12_WaterImpermeability)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastener -bool IfcMechanicalFastener::hasNominalDiameter() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalDiameter() { return *entity->getArgument(8); } +bool IfcMechanicalFastener::hasNominalDiameter() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } void IfcMechanicalFastener::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalFastener::hasNominalLength() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalLength() { return *entity->getArgument(9); } +bool IfcMechanicalFastener::hasNominalLength() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } void IfcMechanicalFastener::setNominalLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcFastener((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastener::IfcMechanicalFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength) : IfcFastener((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcFastener((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalFastener::IfcMechanicalFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength) : IfcFastener((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastenerType bool IfcMechanicalFastenerType::is(Type::Enum v) const { return v == Type::IfcMechanicalFastenerType || IfcFastenerType::is(v); } Type::Enum IfcMechanicalFastenerType::type() const { return Type::IfcMechanicalFastenerType; } Type::Enum IfcMechanicalFastenerType::Class() { return Type::IfcMechanicalFastenerType; } -IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcAbstractEntityPtr e) : IfcFastenerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcFastenerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcAbstractEntity* e) : IfcFastenerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcFastenerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalMaterialProperties -bool IfcMechanicalMaterialProperties::hasDynamicViscosity() { return !entity->getArgument(1)->isNull(); } -IfcDynamicViscosityMeasure IfcMechanicalMaterialProperties::DynamicViscosity() { return *entity->getArgument(1); } +bool IfcMechanicalMaterialProperties::hasDynamicViscosity() const { return !entity->getArgument(1)->isNull(); } +IfcDynamicViscosityMeasure IfcMechanicalMaterialProperties::DynamicViscosity() const { return *entity->getArgument(1); } void IfcMechanicalMaterialProperties::setDynamicViscosity(IfcDynamicViscosityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMechanicalMaterialProperties::hasYoungModulus() { return !entity->getArgument(2)->isNull(); } -IfcModulusOfElasticityMeasure IfcMechanicalMaterialProperties::YoungModulus() { return *entity->getArgument(2); } +bool IfcMechanicalMaterialProperties::hasYoungModulus() const { return !entity->getArgument(2)->isNull(); } +IfcModulusOfElasticityMeasure IfcMechanicalMaterialProperties::YoungModulus() const { return *entity->getArgument(2); } void IfcMechanicalMaterialProperties::setYoungModulus(IfcModulusOfElasticityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcMechanicalMaterialProperties::hasShearModulus() { return !entity->getArgument(3)->isNull(); } -IfcModulusOfElasticityMeasure IfcMechanicalMaterialProperties::ShearModulus() { return *entity->getArgument(3); } +bool IfcMechanicalMaterialProperties::hasShearModulus() const { return !entity->getArgument(3)->isNull(); } +IfcModulusOfElasticityMeasure IfcMechanicalMaterialProperties::ShearModulus() const { return *entity->getArgument(3); } void IfcMechanicalMaterialProperties::setShearModulus(IfcModulusOfElasticityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMechanicalMaterialProperties::hasPoissonRatio() { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcMechanicalMaterialProperties::PoissonRatio() { return *entity->getArgument(4); } +bool IfcMechanicalMaterialProperties::hasPoissonRatio() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveRatioMeasure IfcMechanicalMaterialProperties::PoissonRatio() const { return *entity->getArgument(4); } void IfcMechanicalMaterialProperties::setPoissonRatio(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMechanicalMaterialProperties::hasThermalExpansionCoefficient() { return !entity->getArgument(5)->isNull(); } -IfcThermalExpansionCoefficientMeasure IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() { return *entity->getArgument(5); } +bool IfcMechanicalMaterialProperties::hasThermalExpansionCoefficient() const { return !entity->getArgument(5)->isNull(); } +IfcThermalExpansionCoefficientMeasure IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { return *entity->getArgument(5); } void IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(IfcThermalExpansionCoefficientMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcMechanicalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcMechanicalMaterialProperties::type() const { return Type::IfcMechanicalMaterialProperties; } Type::Enum IfcMechanicalMaterialProperties::Class() { return Type::IfcMechanicalMaterialProperties; } -IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalSteelMaterialProperties -bool IfcMechanicalSteelMaterialProperties::hasYieldStress() { return !entity->getArgument(6)->isNull(); } -IfcPressureMeasure IfcMechanicalSteelMaterialProperties::YieldStress() { return *entity->getArgument(6); } +bool IfcMechanicalSteelMaterialProperties::hasYieldStress() const { return !entity->getArgument(6)->isNull(); } +IfcPressureMeasure IfcMechanicalSteelMaterialProperties::YieldStress() const { return *entity->getArgument(6); } void IfcMechanicalSteelMaterialProperties::setYieldStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcMechanicalSteelMaterialProperties::hasUltimateStress() { return !entity->getArgument(7)->isNull(); } -IfcPressureMeasure IfcMechanicalSteelMaterialProperties::UltimateStress() { return *entity->getArgument(7); } +bool IfcMechanicalSteelMaterialProperties::hasUltimateStress() const { return !entity->getArgument(7)->isNull(); } +IfcPressureMeasure IfcMechanicalSteelMaterialProperties::UltimateStress() const { return *entity->getArgument(7); } void IfcMechanicalSteelMaterialProperties::setUltimateStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcMechanicalSteelMaterialProperties::hasUltimateStrain() { return !entity->getArgument(8)->isNull(); } -IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::UltimateStrain() { return *entity->getArgument(8); } +bool IfcMechanicalSteelMaterialProperties::hasUltimateStrain() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::UltimateStrain() const { return *entity->getArgument(8); } void IfcMechanicalSteelMaterialProperties::setUltimateStrain(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalSteelMaterialProperties::hasHardeningModule() { return !entity->getArgument(9)->isNull(); } -IfcModulusOfElasticityMeasure IfcMechanicalSteelMaterialProperties::HardeningModule() { return *entity->getArgument(9); } +bool IfcMechanicalSteelMaterialProperties::hasHardeningModule() const { return !entity->getArgument(9)->isNull(); } +IfcModulusOfElasticityMeasure IfcMechanicalSteelMaterialProperties::HardeningModule() const { return *entity->getArgument(9); } void IfcMechanicalSteelMaterialProperties::setHardeningModule(IfcModulusOfElasticityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMechanicalSteelMaterialProperties::hasProportionalStress() { return !entity->getArgument(10)->isNull(); } -IfcPressureMeasure IfcMechanicalSteelMaterialProperties::ProportionalStress() { return *entity->getArgument(10); } +bool IfcMechanicalSteelMaterialProperties::hasProportionalStress() const { return !entity->getArgument(10)->isNull(); } +IfcPressureMeasure IfcMechanicalSteelMaterialProperties::ProportionalStress() const { return *entity->getArgument(10); } void IfcMechanicalSteelMaterialProperties::setProportionalStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcMechanicalSteelMaterialProperties::hasPlasticStrain() { return !entity->getArgument(11)->isNull(); } -IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::PlasticStrain() { return *entity->getArgument(11); } +bool IfcMechanicalSteelMaterialProperties::hasPlasticStrain() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::PlasticStrain() const { return *entity->getArgument(11); } void IfcMechanicalSteelMaterialProperties::setPlasticStrain(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcMechanicalSteelMaterialProperties::hasRelaxations() { return !entity->getArgument(12)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > IfcMechanicalSteelMaterialProperties::Relaxations() { RETURN_AS_LIST(IfcRelaxation,12) } -void IfcMechanicalSteelMaterialProperties::setRelaxations(SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v->generalize()); } +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()); } 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; } -IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcAbstractEntityPtr e) : IfcMechanicalMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalSteelMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_YieldStress, boost::optional< IfcPressureMeasure > v8_UltimateStress, boost::optional< IfcPositiveRatioMeasure > v9_UltimateStrain, boost::optional< IfcModulusOfElasticityMeasure > v10_HardeningModule, boost::optional< IfcPressureMeasure > v11_ProportionalStress, boost::optional< IfcPositiveRatioMeasure > v12_PlasticStrain, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > > v13_Relaxations) : IfcMechanicalMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_YieldStress) { e->setArgument(6,(*v7_YieldStress)); } else { e->setArgument(6); } if (v8_UltimateStress) { e->setArgument(7,(*v8_UltimateStress)); } else { e->setArgument(7); } if (v9_UltimateStrain) { e->setArgument(8,(*v9_UltimateStrain)); } else { e->setArgument(8); } if (v10_HardeningModule) { e->setArgument(9,(*v10_HardeningModule)); } else { e->setArgument(9); } if (v11_ProportionalStress) { e->setArgument(10,(*v11_ProportionalStress)); } else { e->setArgument(10); } if (v12_PlasticStrain) { e->setArgument(11,(*v12_PlasticStrain)); } else { e->setArgument(11); } if (v13_Relaxations) { e->setArgument(12,(*v13_Relaxations)->generalize()); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcAbstractEntity* e) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalSteelMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_YieldStress, boost::optional< IfcPressureMeasure > v8_UltimateStress, boost::optional< IfcPositiveRatioMeasure > v9_UltimateStrain, boost::optional< IfcModulusOfElasticityMeasure > v10_HardeningModule, boost::optional< IfcPressureMeasure > v11_ProportionalStress, boost::optional< IfcPositiveRatioMeasure > v12_PlasticStrain, boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v13_Relaxations) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_YieldStress) { e->setArgument(6,(*v7_YieldStress)); } else { e->setArgument(6); } if (v8_UltimateStress) { e->setArgument(7,(*v8_UltimateStress)); } else { e->setArgument(7); } if (v9_UltimateStrain) { e->setArgument(8,(*v9_UltimateStrain)); } else { e->setArgument(8); } if (v10_HardeningModule) { e->setArgument(9,(*v10_HardeningModule)); } else { e->setArgument(9); } if (v11_ProportionalStress) { e->setArgument(10,(*v11_ProportionalStress)); } else { e->setArgument(10); } if (v12_PlasticStrain) { e->setArgument(11,(*v12_PlasticStrain)); } else { e->setArgument(11); } if (v13_Relaxations) { e->setArgument(12,(*v13_Relaxations)->generalize()); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMember bool IfcMember::is(Type::Enum v) const { return v == Type::IfcMember || IfcBuildingElement::is(v); } Type::Enum IfcMember::type() const { return Type::IfcMember; } Type::Enum IfcMember::Class() { return Type::IfcMember; } -IfcMember::IfcMember(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMember::IfcMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMember::IfcMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberType -IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberType::PredefinedType() { return IfcMemberTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberType::IfcMemberType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMemberType::IfcMemberType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMetric -IfcBenchmarkEnum::IfcBenchmarkEnum IfcMetric::Benchmark() { return IfcBenchmarkEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcMetric::ValueSource() { return *entity->getArgument(8); } +bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcMetric::ValueSource() const { return *entity->getArgument(8); } void IfcMetric::setValueSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcMetricValueSelect IfcMetric::DataValue() { return *entity->getArgument(9); } +IfcMetricValueSelect IfcMetric::DataValue() const { return *entity->getArgument(9); } void IfcMetric::setDataValue(IfcMetricValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcConstraint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMetric::IfcMetric(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue) : IfcConstraint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); entity = e; EntityBuffer::Add(this); } +IfcMetric::IfcMetric(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMetric::IfcMetric(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMonetaryUnit -IfcCurrencyEnum::IfcCurrencyEnum IfcMonetaryUnit::Currency() { return IfcCurrencyEnum::FromString(*entity->getArgument(0)); } +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)); } bool IfcMonetaryUnit::is(Type::Enum v) const { return v == Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::type() const { return Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::Class() { return Type::IfcMonetaryUnit; } -IfcMonetaryUnit::IfcMonetaryUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMonetaryUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMonetaryUnit::IfcMonetaryUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMonetaryUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMonetaryUnit::IfcMonetaryUnit(IfcCurrencyEnum::IfcCurrencyEnum v1_Currency) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Currency,IfcCurrencyEnum::ToString(v1_Currency)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnectionType -IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnectionType::PredefinedType() { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnectionType::IfcMotorConnectionType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMotorConnectionType::IfcMotorConnectionType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMove -IfcSpatialStructureElement* IfcMove::MoveFrom() { return (IfcSpatialStructureElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } -IfcSpatialStructureElement* IfcMove::MoveTo() { return (IfcSpatialStructureElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +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() { return !entity->getArgument(12)->isNull(); } -std::vector< IfcText > /*[1:?]*/ IfcMove::PunchList() { return *entity->getArgument(12); } +bool IfcMove::hasPunchList() const { return !entity->getArgument(12)->isNull(); } +std::vector< IfcText > /*[1:?]*/ IfcMove::PunchList() const { return *entity->getArgument(12); } void IfcMove::setPunchList(std::vector< IfcText > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcMove::is(Type::Enum v) const { return v == Type::IfcMove || IfcTask::is(v); } Type::Enum IfcMove::type() const { return Type::IfcMove; } Type::Enum IfcMove::Class() { return Type::IfcMove; } -IfcMove::IfcMove(IfcAbstractEntityPtr e) : IfcTask((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMove)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMove::IfcMove(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< IfcText > /*[1:?]*/ > v13_PunchList) : IfcTask((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_MoveFrom)); e->setArgument(11,(v12_MoveTo)); if (v13_PunchList) { e->setArgument(12,(*v13_PunchList)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcMove::IfcMove(IfcAbstractEntity* e) : IfcTask((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMove)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMove::IfcMove(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< IfcText > /*[1:?]*/ > v13_PunchList) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_MoveFrom)); e->setArgument(11,(v12_MoveTo)); if (v13_PunchList) { e->setArgument(12,(*v13_PunchList)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcNamedUnit -IfcDimensionalExponents* IfcNamedUnit::Dimensions() { return (IfcDimensionalExponents*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcUnitEnum::IfcUnitEnum IfcNamedUnit::UnitType() { return IfcUnitEnum::FromString(*entity->getArgument(1)); } +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)); } 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; } -IfcNamedUnit::IfcNamedUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcNamedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcNamedUnit::IfcNamedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcNamedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } 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() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcObject::ObjectType() { return *entity->getArgument(4); } +bool IfcObject::hasObjectType() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcObject::ObjectType() const { return *entity->getArgument(4); } void IfcObject::setObjectType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcRelDefines::list IfcObject::IsDefinedBy() { RETURN_INVERSE(IfcRelDefines) } +IfcRelDefines::list::ptr IfcObject::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefines)->as(); } bool IfcObject::is(Type::Enum v) const { return v == Type::IfcObject || IfcObjectDefinition::is(v); } Type::Enum IfcObject::type() const { return Type::IfcObject; } Type::Enum IfcObject::Class() { return Type::IfcObject; } -IfcObject::IfcObject(IfcAbstractEntityPtr e) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObject::IfcObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } 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(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObject::IfcObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectDefinition -IfcRelAssigns::list IfcObjectDefinition::HasAssignments() { RETURN_INVERSE(IfcRelAssigns) } -IfcRelDecomposes::list IfcObjectDefinition::IsDecomposedBy() { RETURN_INVERSE(IfcRelDecomposes) } -IfcRelDecomposes::list IfcObjectDefinition::Decomposes() { RETURN_INVERSE(IfcRelDecomposes) } -IfcRelAssociates::list IfcObjectDefinition::HasAssociations() { RETURN_INVERSE(IfcRelAssociates) } +IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return entity->getInverse(Type::IfcRelAssigns)->as(); } +IfcRelDecomposes::list::ptr IfcObjectDefinition::IsDecomposedBy() const { return entity->getInverse(Type::IfcRelDecomposes)->as(); } +IfcRelDecomposes::list::ptr IfcObjectDefinition::Decomposes() const { return entity->getInverse(Type::IfcRelDecomposes)->as(); } +IfcRelAssociates::list::ptr IfcObjectDefinition::HasAssociations() const { return entity->getInverse(Type::IfcRelAssociates)->as(); } bool IfcObjectDefinition::is(Type::Enum v) const { return v == Type::IfcObjectDefinition || IfcRoot::is(v); } Type::Enum IfcObjectDefinition::type() const { return Type::IfcObjectDefinition; } Type::Enum IfcObjectDefinition::Class() { return Type::IfcObjectDefinition; } -IfcObjectDefinition::IfcObjectDefinition(IfcAbstractEntityPtr e) : IfcRoot((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjectDefinition::IfcObjectDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObjectDefinition::IfcObjectDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectPlacement -IfcProduct::list IfcObjectPlacement::PlacesObject() { RETURN_INVERSE(IfcProduct) } -IfcLocalPlacement::list IfcObjectPlacement::ReferencedByPlacements() { RETURN_INVERSE(IfcLocalPlacement) } +IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return entity->getInverse(Type::IfcProduct)->as(); } +IfcLocalPlacement::list::ptr IfcObjectPlacement::ReferencedByPlacements() const { return entity->getInverse(Type::IfcLocalPlacement)->as(); } bool IfcObjectPlacement::is(Type::Enum v) const { return v == Type::IfcObjectPlacement; } Type::Enum IfcObjectPlacement::type() const { return Type::IfcObjectPlacement; } Type::Enum IfcObjectPlacement::Class() { return Type::IfcObjectPlacement; } -IfcObjectPlacement::IfcObjectPlacement(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcObjectPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObjectPlacement::IfcObjectPlacement(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcObjectPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjective -bool IfcObjective::hasBenchmarkValues() { return !entity->getArgument(7)->isNull(); } -IfcMetric* IfcObjective::BenchmarkValues() { return (IfcMetric*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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() { return !entity->getArgument(8)->isNull(); } -IfcMetric* IfcObjective::ResultValues() { return (IfcMetric*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } -IfcObjectiveEnum::IfcObjectiveEnum IfcObjective::ObjectiveQualifier() { return IfcObjectiveEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcObjective::UserDefinedQualifier() { return *entity->getArgument(10); } +bool IfcObjective::hasUserDefinedQualifier() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } void IfcObjective::setUserDefinedQualifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcConstraint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjective::IfcObjective(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,(v8_BenchmarkValues)); e->setArgument(8,(v9_ResultValues)); e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcObjective::IfcObjective(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObjective::IfcObjective(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,(v8_BenchmarkValues)); e->setArgument(8,(v9_ResultValues)); e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOccupant -IfcOccupantTypeEnum::IfcOccupantTypeEnum IfcOccupant::PredefinedType() { return IfcOccupantTypeEnum::FromString(*entity->getArgument(6)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcActor((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOccupant::IfcOccupant(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType) : IfcActor((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); e->setArgument(6,v7_PredefinedType,IfcOccupantTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcOccupant::IfcOccupant(IfcAbstractEntity* e) : IfcActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOccupant::IfcOccupant(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); e->setArgument(6,v7_PredefinedType,IfcOccupantTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve2D -IfcCurve* IfcOffsetCurve2D::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcOffsetCurve2D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve2D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve2D::Distance() { return *entity->getArgument(1); } +IfcLengthMeasure IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } void IfcOffsetCurve2D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOffsetCurve2D::SelfIntersect() { return *entity->getArgument(2); } +bool IfcOffsetCurve2D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve2D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOffsetCurve2D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve2D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve2D::type() const { return Type::IfcOffsetCurve2D; } Type::Enum IfcOffsetCurve2D::Class() { return Type::IfcOffsetCurve2D; } -IfcOffsetCurve2D::IfcOffsetCurve2D(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve2D::IfcOffsetCurve2D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve3D -IfcCurve* IfcOffsetCurve3D::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcOffsetCurve3D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve3D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve3D::Distance() { return *entity->getArgument(1); } +IfcLengthMeasure IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } void IfcOffsetCurve3D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOffsetCurve3D::SelfIntersect() { return *entity->getArgument(2); } +bool IfcOffsetCurve3D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve3D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDirection* IfcOffsetCurve3D::RefDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcOffsetCurve3D::IfcOffsetCurve3D(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve3D::IfcOffsetCurve3D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOneDirectionRepeatFactor -IfcVector* IfcOneDirectionRepeatFactor::RepeatFactor() { return (IfcVector*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOneDirectionRepeatFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(IfcVector* v1_RepeatFactor) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatFactor)); entity = e; EntityBuffer::Add(this); } +IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOneDirectionRepeatFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(IfcVector* v1_RepeatFactor) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatFactor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpenShell bool IfcOpenShell::is(Type::Enum v) const { return v == Type::IfcOpenShell || IfcConnectedFaceSet::is(v); } Type::Enum IfcOpenShell::type() const { return Type::IfcOpenShell; } Type::Enum IfcOpenShell::Class() { return Type::IfcOpenShell; } -IfcOpenShell::IfcOpenShell(IfcAbstractEntityPtr e) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOpenShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpenShell::IfcOpenShell(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcOpenShell::IfcOpenShell(IfcAbstractEntity* e) : IfcConnectedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpenShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 -IfcRelFillsElement::list IfcOpeningElement::HasFillings() { RETURN_INVERSE(IfcRelFillsElement) } +IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return entity->getInverse(Type::IfcRelFillsElement)->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(IfcAbstractEntityPtr e) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningElement::IfcOpeningElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOpeningElement::IfcOpeningElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpticalMaterialProperties -bool IfcOpticalMaterialProperties::hasVisibleTransmittance() { return !entity->getArgument(1)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleTransmittance() { return *entity->getArgument(1); } +bool IfcOpticalMaterialProperties::hasVisibleTransmittance() const { return !entity->getArgument(1)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleTransmittance() const { return *entity->getArgument(1); } void IfcOpticalMaterialProperties::setVisibleTransmittance(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOpticalMaterialProperties::hasSolarTransmittance() { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarTransmittance() { return *entity->getArgument(2); } +bool IfcOpticalMaterialProperties::hasSolarTransmittance() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarTransmittance() const { return *entity->getArgument(2); } void IfcOpticalMaterialProperties::setSolarTransmittance(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcOpticalMaterialProperties::hasThermalIrTransmittance() { return !entity->getArgument(3)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrTransmittance() { return *entity->getArgument(3); } +bool IfcOpticalMaterialProperties::hasThermalIrTransmittance() const { return !entity->getArgument(3)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrTransmittance() const { return *entity->getArgument(3); } void IfcOpticalMaterialProperties::setThermalIrTransmittance(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcOpticalMaterialProperties::hasThermalIrEmissivityBack() { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrEmissivityBack() { return *entity->getArgument(4); } +bool IfcOpticalMaterialProperties::hasThermalIrEmissivityBack() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { return *entity->getArgument(4); } void IfcOpticalMaterialProperties::setThermalIrEmissivityBack(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcOpticalMaterialProperties::hasThermalIrEmissivityFront() { return !entity->getArgument(5)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrEmissivityFront() { return *entity->getArgument(5); } +bool IfcOpticalMaterialProperties::hasThermalIrEmissivityFront() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { return *entity->getArgument(5); } void IfcOpticalMaterialProperties::setThermalIrEmissivityFront(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcOpticalMaterialProperties::hasVisibleReflectanceBack() { return !entity->getArgument(6)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleReflectanceBack() { return *entity->getArgument(6); } +bool IfcOpticalMaterialProperties::hasVisibleReflectanceBack() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleReflectanceBack() const { return *entity->getArgument(6); } void IfcOpticalMaterialProperties::setVisibleReflectanceBack(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcOpticalMaterialProperties::hasVisibleReflectanceFront() { return !entity->getArgument(7)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleReflectanceFront() { return *entity->getArgument(7); } +bool IfcOpticalMaterialProperties::hasVisibleReflectanceFront() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleReflectanceFront() const { return *entity->getArgument(7); } void IfcOpticalMaterialProperties::setVisibleReflectanceFront(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcOpticalMaterialProperties::hasSolarReflectanceFront() { return !entity->getArgument(8)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarReflectanceFront() { return *entity->getArgument(8); } +bool IfcOpticalMaterialProperties::hasSolarReflectanceFront() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarReflectanceFront() const { return *entity->getArgument(8); } void IfcOpticalMaterialProperties::setSolarReflectanceFront(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcOpticalMaterialProperties::hasSolarReflectanceBack() { return !entity->getArgument(9)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarReflectanceBack() { return *entity->getArgument(9); } +bool IfcOpticalMaterialProperties::hasSolarReflectanceBack() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarReflectanceBack() const { return *entity->getArgument(9); } void IfcOpticalMaterialProperties::setSolarReflectanceBack(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcOpticalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcOpticalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcOpticalMaterialProperties::type() const { return Type::IfcOpticalMaterialProperties; } Type::Enum IfcOpticalMaterialProperties::Class() { return Type::IfcOpticalMaterialProperties; } -IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOpticalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_VisibleTransmittance, boost::optional< IfcPositiveRatioMeasure > v3_SolarTransmittance, boost::optional< IfcPositiveRatioMeasure > v4_ThermalIrTransmittance, boost::optional< IfcPositiveRatioMeasure > v5_ThermalIrEmissivityBack, boost::optional< IfcPositiveRatioMeasure > v6_ThermalIrEmissivityFront, boost::optional< IfcPositiveRatioMeasure > v7_VisibleReflectanceBack, boost::optional< IfcPositiveRatioMeasure > v8_VisibleReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v9_SolarReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v10_SolarReflectanceBack) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_VisibleTransmittance) { e->setArgument(1,(*v2_VisibleTransmittance)); } else { e->setArgument(1); } if (v3_SolarTransmittance) { e->setArgument(2,(*v3_SolarTransmittance)); } else { e->setArgument(2); } if (v4_ThermalIrTransmittance) { e->setArgument(3,(*v4_ThermalIrTransmittance)); } else { e->setArgument(3); } if (v5_ThermalIrEmissivityBack) { e->setArgument(4,(*v5_ThermalIrEmissivityBack)); } else { e->setArgument(4); } if (v6_ThermalIrEmissivityFront) { e->setArgument(5,(*v6_ThermalIrEmissivityFront)); } else { e->setArgument(5); } if (v7_VisibleReflectanceBack) { e->setArgument(6,(*v7_VisibleReflectanceBack)); } else { e->setArgument(6); } if (v8_VisibleReflectanceFront) { e->setArgument(7,(*v8_VisibleReflectanceFront)); } else { e->setArgument(7); } if (v9_SolarReflectanceFront) { e->setArgument(8,(*v9_SolarReflectanceFront)); } else { e->setArgument(8); } if (v10_SolarReflectanceBack) { e->setArgument(9,(*v10_SolarReflectanceBack)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpticalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_VisibleTransmittance, boost::optional< IfcPositiveRatioMeasure > v3_SolarTransmittance, boost::optional< IfcPositiveRatioMeasure > v4_ThermalIrTransmittance, boost::optional< IfcPositiveRatioMeasure > v5_ThermalIrEmissivityBack, boost::optional< IfcPositiveRatioMeasure > v6_ThermalIrEmissivityFront, boost::optional< IfcPositiveRatioMeasure > v7_VisibleReflectanceBack, boost::optional< IfcPositiveRatioMeasure > v8_VisibleReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v9_SolarReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v10_SolarReflectanceBack) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_VisibleTransmittance) { e->setArgument(1,(*v2_VisibleTransmittance)); } else { e->setArgument(1); } if (v3_SolarTransmittance) { e->setArgument(2,(*v3_SolarTransmittance)); } else { e->setArgument(2); } if (v4_ThermalIrTransmittance) { e->setArgument(3,(*v4_ThermalIrTransmittance)); } else { e->setArgument(3); } if (v5_ThermalIrEmissivityBack) { e->setArgument(4,(*v5_ThermalIrEmissivityBack)); } else { e->setArgument(4); } if (v6_ThermalIrEmissivityFront) { e->setArgument(5,(*v6_ThermalIrEmissivityFront)); } else { e->setArgument(5); } if (v7_VisibleReflectanceBack) { e->setArgument(6,(*v7_VisibleReflectanceBack)); } else { e->setArgument(6); } if (v8_VisibleReflectanceFront) { e->setArgument(7,(*v8_VisibleReflectanceFront)); } else { e->setArgument(7); } if (v9_SolarReflectanceFront) { e->setArgument(8,(*v9_SolarReflectanceFront)); } else { e->setArgument(8); } if (v10_SolarReflectanceBack) { e->setArgument(9,(*v10_SolarReflectanceBack)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrderAction -IfcIdentifier IfcOrderAction::ActionID() { return *entity->getArgument(10); } +IfcIdentifier IfcOrderAction::ActionID() const { return *entity->getArgument(10); } void IfcOrderAction::setActionID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcOrderAction::is(Type::Enum v) const { return v == Type::IfcOrderAction || IfcTask::is(v); } Type::Enum IfcOrderAction::type() const { return Type::IfcOrderAction; } Type::Enum IfcOrderAction::Class() { return Type::IfcOrderAction; } -IfcOrderAction::IfcOrderAction(IfcAbstractEntityPtr e) : IfcTask((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOrderAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrderAction::IfcOrderAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcIdentifier v11_ActionID) : IfcTask((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_ActionID)); entity = e; EntityBuffer::Add(this); } +IfcOrderAction::IfcOrderAction(IfcAbstractEntity* e) : IfcTask((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOrderAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrderAction::IfcOrderAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcIdentifier v11_ActionID) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_ActionID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganization -bool IfcOrganization::hasId() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcOrganization::Id() { return *entity->getArgument(0); } +bool IfcOrganization::hasId() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcOrganization::Id() const { return *entity->getArgument(0); } void IfcOrganization::setId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcOrganization::Name() { return *entity->getArgument(1); } +IfcLabel IfcOrganization::Name() const { return *entity->getArgument(1); } void IfcOrganization::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOrganization::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcOrganization::Description() { return *entity->getArgument(2); } +bool IfcOrganization::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcOrganization::Description() const { return *entity->getArgument(2); } void IfcOrganization::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcOrganization::hasRoles() { return !entity->getArgument(3)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,3) } -void IfcOrganization::setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcOrganization::hasAddresses() { return !entity->getArgument(4)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > IfcOrganization::Addresses() { RETURN_AS_LIST(IfcAddress,4) } -void IfcOrganization::setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcOrganizationRelationship::list IfcOrganization::IsRelatedBy() { RETURN_INVERSE(IfcOrganizationRelationship) } -IfcOrganizationRelationship::list IfcOrganization::Relates() { RETURN_INVERSE(IfcOrganizationRelationship) } -IfcPersonAndOrganization::list IfcOrganization::Engages() { RETURN_INVERSE(IfcPersonAndOrganization) } +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()); } +IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return entity->getInverse(Type::IfcOrganizationRelationship)->as(); } +IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return entity->getInverse(Type::IfcOrganizationRelationship)->as(); } +IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return entity->getInverse(Type::IfcPersonAndOrganization)->as(); } bool IfcOrganization::is(Type::Enum v) const { return v == Type::IfcOrganization; } Type::Enum IfcOrganization::type() const { return Type::IfcOrganization; } Type::Enum IfcOrganization::Class() { return Type::IfcOrganization; } -IfcOrganization::IfcOrganization(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganization::IfcOrganization(boost::optional< IfcIdentifier > v1_Id, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v4_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcOrganization::IfcOrganization(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrganization::IfcOrganization(boost::optional< IfcIdentifier > v1_Id, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganizationRelationship -IfcLabel IfcOrganizationRelationship::Name() { return *entity->getArgument(0); } +IfcLabel IfcOrganizationRelationship::Name() const { return *entity->getArgument(0); } void IfcOrganizationRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcOrganizationRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcOrganizationRelationship::Description() { return *entity->getArgument(1); } +bool IfcOrganizationRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcOrganizationRelationship::Description() const { return *entity->getArgument(1); } void IfcOrganizationRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > IfcOrganizationRelationship::RelatedOrganizations() { RETURN_AS_LIST(IfcOrganization,3) } -void IfcOrganizationRelationship::setRelatedOrganizations(SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +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()); } 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; } -IfcOrganizationRelationship::IfcOrganizationRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganizationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganizationRelationship::IfcOrganizationRelationship(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcOrganizationRelationship::IfcOrganizationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganizationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrganizationRelationship::IfcOrganizationRelationship(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrientedEdge -IfcEdge* IfcOrientedEdge::EdgeElement() { return (IfcEdge*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -bool IfcOrientedEdge::Orientation() { return *entity->getArgument(3); } +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); } 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; } -IfcOrientedEdge::IfcOrientedEdge(IfcAbstractEntityPtr e) : IfcEdge((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOrientedEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrientedEdge::IfcOrientedEdge(IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgumentDerived(0); e->setArgumentDerived(1); e->setArgument(2,(v3_EdgeElement)); e->setArgument(3,(v4_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcOrientedEdge::IfcOrientedEdge(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOrientedEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrientedEdge::IfcOrientedEdge(IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgumentDerived(0); e->setArgumentDerived(1); e->setArgument(2,(v3_EdgeElement)); e->setArgument(3,(v4_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOutletType -IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutletType::PredefinedType() { return IfcOutletTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutletType::IfcOutletType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOutletType::IfcOutletType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOwnerHistory -IfcPersonAndOrganization* IfcOwnerHistory::OwningUser() { return (IfcPersonAndOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcApplication* IfcOwnerHistory::OwningApplication() { return (IfcApplication*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcStateEnum::IfcStateEnum IfcOwnerHistory::State() { return IfcStateEnum::FromString(*entity->getArgument(2)); } +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)); } -IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } +IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() const { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } void IfcOwnerHistory::setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcChangeActionEnum::ToString(v)); } -bool IfcOwnerHistory::hasLastModifiedDate() { return !entity->getArgument(4)->isNull(); } -IfcTimeStamp IfcOwnerHistory::LastModifiedDate() { return *entity->getArgument(4); } +bool IfcOwnerHistory::hasLastModifiedDate() const { return !entity->getArgument(4)->isNull(); } +IfcTimeStamp IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } void IfcOwnerHistory::setLastModifiedDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcOwnerHistory::hasLastModifyingUser() { return !entity->getArgument(5)->isNull(); } -IfcPersonAndOrganization* IfcOwnerHistory::LastModifyingUser() { return (IfcPersonAndOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcApplication* IfcOwnerHistory::LastModifyingApplication() { return (IfcApplication*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +bool IfcOwnerHistory::hasLastModifyingApplication() const { return !entity->getArgument(6)->isNull(); } +IfcApplication* IfcOwnerHistory::LastModifyingApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcOwnerHistory::setLastModifyingApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcTimeStamp IfcOwnerHistory::CreationDate() { return *entity->getArgument(7); } +IfcTimeStamp IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } void IfcOwnerHistory::setCreationDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOwnerHistory::IfcOwnerHistory(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } e->setArgument(3,v4_ChangeAction,IfcChangeActionEnum::ToString(v4_ChangeAction)); if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcParameterizedProfileDef -IfcAxis2Placement2D* IfcParameterizedProfileDef::Position() { return (IfcAxis2Placement2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPath -SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > IfcPath::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } -void IfcPath::setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcPath::IfcPath(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPath)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPath::IfcPath(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPath::IfcPath(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPath)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPath::IfcPath(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerformanceHistory -IfcLabel IfcPerformanceHistory::LifeCyclePhase() { return *entity->getArgument(5); } +IfcLabel IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(5); } void IfcPerformanceHistory::setLifeCyclePhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerformanceHistory::IfcPerformanceHistory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLabel v6_LifeCyclePhase) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_LifeCyclePhase)); entity = e; EntityBuffer::Add(this); } +IfcPerformanceHistory::IfcPerformanceHistory(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPerformanceHistory::IfcPerformanceHistory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLabel v6_LifeCyclePhase) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_LifeCyclePhase)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermeableCoveringProperties -IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringProperties::OperationType() { return IfcPermeableCoveringOperationEnum::FromString(*entity->getArgument(4)); } +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)); } -IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcPermeableCoveringProperties::PanelPosition() { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameDepth() { return *entity->getArgument(6); } +bool IfcPermeableCoveringProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } void IfcPermeableCoveringProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPermeableCoveringProperties::hasFrameThickness() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameThickness() { return *entity->getArgument(7); } +bool IfcPermeableCoveringProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } void IfcPermeableCoveringProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPermeableCoveringProperties::hasShapeAspectStyle() { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcPermeableCoveringProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermit -IfcIdentifier IfcPermit::PermitID() { return *entity->getArgument(5); } +IfcIdentifier IfcPermit::PermitID() const { return *entity->getArgument(5); } void IfcPermit::setPermitID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermit::IfcPermit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_PermitID) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_PermitID)); entity = e; EntityBuffer::Add(this); } +IfcPermit::IfcPermit(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPermit::IfcPermit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_PermitID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_PermitID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerson -bool IfcPerson::hasId() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcPerson::Id() { return *entity->getArgument(0); } +bool IfcPerson::hasId() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcPerson::Id() const { return *entity->getArgument(0); } void IfcPerson::setId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPerson::hasFamilyName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcPerson::FamilyName() { return *entity->getArgument(1); } +bool IfcPerson::hasFamilyName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcPerson::FamilyName() const { return *entity->getArgument(1); } void IfcPerson::setFamilyName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPerson::hasGivenName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPerson::GivenName() { return *entity->getArgument(2); } +bool IfcPerson::hasGivenName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcPerson::GivenName() const { return *entity->getArgument(2); } void IfcPerson::setGivenName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPerson::hasMiddleNames() { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() { return *entity->getArgument(3); } +bool IfcPerson::hasMiddleNames() const { return !entity->getArgument(3)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } void IfcPerson::setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPerson::hasPrefixTitles() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() { return *entity->getArgument(4); } +bool IfcPerson::hasPrefixTitles() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } void IfcPerson::setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPerson::hasSuffixTitles() { return !entity->getArgument(5)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() { return *entity->getArgument(5); } +bool IfcPerson::hasSuffixTitles() const { return !entity->getArgument(5)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } void IfcPerson::setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPerson::hasRoles() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcPerson::Roles() { RETURN_AS_LIST(IfcActorRole,6) } -void IfcPerson::setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcPerson::hasAddresses() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > IfcPerson::Addresses() { RETURN_AS_LIST(IfcAddress,7) } -void IfcPerson::setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -IfcPersonAndOrganization::list IfcPerson::EngagedIn() { RETURN_INVERSE(IfcPersonAndOrganization) } +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()); } +IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return entity->getInverse(Type::IfcPersonAndOrganization)->as(); } bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } Type::Enum IfcPerson::Class() { return Type::IfcPerson; } -IfcPerson::IfcPerson(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPerson)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerson::IfcPerson(boost::optional< IfcIdentifier > v1_Id, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v7_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPerson::IfcPerson(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPerson)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPerson::IfcPerson(boost::optional< IfcIdentifier > v1_Id, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPersonAndOrganization -IfcPerson* IfcPersonAndOrganization::ThePerson() { return (IfcPerson*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcOrganization* IfcPersonAndOrganization::TheOrganization() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcPersonAndOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,2) } -void IfcPersonAndOrganization::setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } bool IfcPersonAndOrganization::is(Type::Enum v) const { return v == Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::type() const { return Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::Class() { return Type::IfcPersonAndOrganization; } -IfcPersonAndOrganization::IfcPersonAndOrganization(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPersonAndOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v3_Roles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ThePerson)); e->setArgument(1,(v2_TheOrganization)); if (v3_Roles) { e->setArgument(2,(*v3_Roles)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcPersonAndOrganization::IfcPersonAndOrganization(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPersonAndOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ThePerson)); e->setArgument(1,(v2_TheOrganization)); if (v3_Roles) { e->setArgument(2,(*v3_Roles)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalComplexQuantity -SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcPhysicalComplexQuantity::HasQuantities() { RETURN_AS_LIST(IfcPhysicalQuantity,2) } -void IfcPhysicalComplexQuantity::setHasQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -IfcLabel IfcPhysicalComplexQuantity::Discrimination() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcLabel IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } void IfcPhysicalComplexQuantity::setDiscrimination(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPhysicalComplexQuantity::hasQuality() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Quality() { return *entity->getArgument(4); } +bool IfcPhysicalComplexQuantity::hasQuality() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } void IfcPhysicalComplexQuantity::setQuality(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPhysicalComplexQuantity::hasUsage() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Usage() { return *entity->getArgument(5); } +bool IfcPhysicalComplexQuantity::hasUsage() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } void IfcPhysicalComplexQuantity::setUsage(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPhysicalComplexQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalComplexQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalComplexQuantity::type() const { return Type::IfcPhysicalComplexQuantity; } Type::Enum IfcPhysicalComplexQuantity::Class() { return Type::IfcPhysicalComplexQuantity; } -IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcAbstractEntityPtr e) : IfcPhysicalQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPhysicalComplexQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalComplexQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalQuantity -IfcLabel IfcPhysicalQuantity::Name() { return *entity->getArgument(0); } +IfcLabel IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } void IfcPhysicalQuantity::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPhysicalQuantity::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcPhysicalQuantity::Description() { return *entity->getArgument(1); } +bool IfcPhysicalQuantity::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } void IfcPhysicalQuantity::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPhysicalComplexQuantity::list IfcPhysicalQuantity::PartOfComplex() { RETURN_INVERSE(IfcPhysicalComplexQuantity) } +IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return entity->getInverse(Type::IfcPhysicalComplexQuantity)->as(); } bool IfcPhysicalQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::type() const { return Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::Class() { return Type::IfcPhysicalQuantity; } -IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPhysicalQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPhysicalQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPhysicalQuantity::IfcPhysicalQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalSimpleQuantity -bool IfcPhysicalSimpleQuantity::hasUnit() { return !entity->getArgument(2)->isNull(); } -IfcNamedUnit* IfcPhysicalSimpleQuantity::Unit() { return (IfcNamedUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPhysicalQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPile -IfcPileTypeEnum::IfcPileTypeEnum IfcPile::PredefinedType() { return IfcPileTypeEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcPileConstructionEnum::IfcPileConstructionEnum IfcPile::ConstructionType() { return IfcPileConstructionEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPile::IfcPile(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPile::IfcPile(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcPileTypeEnum::ToString(v9_PredefinedType)); if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFittingType -IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingType::PredefinedType() { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFittingType::IfcPipeFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPipeFittingType::IfcPipeFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegmentType -IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentType::PredefinedType() { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegmentType::IfcPipeSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPipeSegmentType::IfcPipeSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPixelTexture -IfcInteger IfcPixelTexture::Width() { return *entity->getArgument(4); } +IfcInteger IfcPixelTexture::Width() const { return *entity->getArgument(4); } void IfcPixelTexture::setWidth(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcInteger IfcPixelTexture::Height() { return *entity->getArgument(5); } +IfcInteger IfcPixelTexture::Height() const { return *entity->getArgument(5); } void IfcPixelTexture::setHeight(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcInteger IfcPixelTexture::ColourComponents() { return *entity->getArgument(6); } +IfcInteger IfcPixelTexture::ColourComponents() const { return *entity->getArgument(6); } void IfcPixelTexture::setColourComponents(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcSurfaceTexture((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcInteger v5_Width, IfcInteger v6_Height, IfcInteger v7_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcInteger v5_Width, IfcInteger v6_Height, IfcInteger v7_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_Height)); e->setArgument(6,(v7_ColourComponents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlacement -IfcCartesianPoint* IfcPlacement::Location() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcPlacement::IfcPlacement(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); entity = e; EntityBuffer::Add(this); } +IfcPlacement::IfcPlacement(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarBox -IfcAxis2Placement IfcPlanarBox::Placement() { return *entity->getArgument(2); } +IfcAxis2Placement IfcPlanarBox::Placement() const { return *entity->getArgument(2); } void IfcPlanarBox::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPlanarBox::is(Type::Enum v) const { return v == Type::IfcPlanarBox || IfcPlanarExtent::is(v); } Type::Enum IfcPlanarBox::type() const { return Type::IfcPlanarBox; } Type::Enum IfcPlanarBox::Class() { return Type::IfcPlanarBox; } -IfcPlanarBox::IfcPlanarBox(IfcAbstractEntityPtr e) : IfcPlanarExtent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlanarBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarBox::IfcPlanarBox(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement) : IfcPlanarExtent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } +IfcPlanarBox::IfcPlanarBox(IfcAbstractEntity* e) : IfcPlanarExtent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlanarBox::IfcPlanarBox(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement) : IfcPlanarExtent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarExtent -IfcLengthMeasure IfcPlanarExtent::SizeInX() { return *entity->getArgument(0); } +IfcLengthMeasure IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } void IfcPlanarExtent::setSizeInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcPlanarExtent::SizeInY() { return *entity->getArgument(1); } +IfcLengthMeasure IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } void IfcPlanarExtent::setSizeInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPlanarExtent::is(Type::Enum v) const { return v == Type::IfcPlanarExtent || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlanarExtent::type() const { return Type::IfcPlanarExtent; } Type::Enum IfcPlanarExtent::Class() { return Type::IfcPlanarExtent; } -IfcPlanarExtent::IfcPlanarExtent(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlanarExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarExtent::IfcPlanarExtent(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } +IfcPlanarExtent::IfcPlanarExtent(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlanarExtent::IfcPlanarExtent(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlane bool IfcPlane::is(Type::Enum v) const { return v == Type::IfcPlane || IfcElementarySurface::is(v); } Type::Enum IfcPlane::type() const { return Type::IfcPlane; } Type::Enum IfcPlane::Class() { return Type::IfcPlane; } -IfcPlane::IfcPlane(IfcAbstractEntityPtr e) : IfcElementarySurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlane::IfcPlane(IfcAxis2Placement3D* v1_Position) : IfcElementarySurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcPlane::IfcPlane(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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::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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlate::IfcPlate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlate::IfcPlate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateType -IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateType::PredefinedType() { return IfcPlateTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateType::IfcPlateType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlateType::IfcPlateType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPoint bool IfcPoint::is(Type::Enum v) const { return v == Type::IfcPoint || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPoint::type() const { return Type::IfcPoint; } Type::Enum IfcPoint::Class() { return Type::IfcPoint; } -IfcPoint::IfcPoint(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcPoint::IfcPoint(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPointOnCurve -IfcCurve* IfcPointOnCurve::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcPointOnCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnCurve::PointParameter() { return *entity->getArgument(1); } +IfcParameterValue IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } void IfcPointOnCurve::setPointParameter(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPointOnCurve::is(Type::Enum v) const { return v == Type::IfcPointOnCurve || IfcPoint::is(v); } Type::Enum IfcPointOnCurve::type() const { return Type::IfcPointOnCurve; } Type::Enum IfcPointOnCurve::Class() { return Type::IfcPointOnCurve; } -IfcPointOnCurve::IfcPointOnCurve(IfcAbstractEntityPtr e) : IfcPoint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPointOnCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter) : IfcPoint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } +IfcPointOnCurve::IfcPointOnCurve(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPointOnSurface -IfcSurface* IfcPointOnSurface::BasisSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcSurface* IfcPointOnSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnSurface::PointParameterU() { return *entity->getArgument(1); } +IfcParameterValue IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } void IfcPointOnSurface::setPointParameterU(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcPointOnSurface::PointParameterV() { return *entity->getArgument(2); } +IfcParameterValue IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } void IfcPointOnSurface::setPointParameterV(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPointOnSurface::is(Type::Enum v) const { return v == Type::IfcPointOnSurface || IfcPoint::is(v); } Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } -IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntityPtr e) : IfcPoint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV) : IfcPoint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } +IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolyLoop -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcPolyLoop::Polygon() { RETURN_AS_LIST(IfcCartesianPoint,0) } -void IfcPolyLoop::setPolygon(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcPolyLoop::IfcPolyLoop(IfcAbstractEntityPtr e) : IfcLoop((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPolyLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPolyLoop::IfcPolyLoop(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Polygon) : IfcLoop((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Polygon)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPolyLoop::IfcPolyLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolyLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPolyLoop::IfcPolyLoop(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Polygon)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolygonalBoundedHalfSpace -IfcAxis2Placement3D* IfcPolygonalBoundedHalfSpace::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcBoundedCurve* IfcPolygonalBoundedHalfSpace::PolygonalBoundary() { return (IfcBoundedCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcAbstractEntityPtr e) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPolygonalBoundedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_PolygonalBoundary)); entity = e; EntityBuffer::Add(this); } +IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolygonalBoundedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_PolygonalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolyline -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcPolyline::Points() { RETURN_AS_LIST(IfcCartesianPoint,0) } -void IfcPolyline::setPoints(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcPolyline::IfcPolyline(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPolyline)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPolyline::IfcPolyline(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Points) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPolyline::IfcPolyline(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolyline)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPolyline::IfcPolyline(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPort -IfcRelConnectsPortToElement::list IfcPort::ContainedIn() { RETURN_INVERSE(IfcRelConnectsPortToElement) } -IfcRelConnectsPorts::list IfcPort::ConnectedFrom() { RETURN_INVERSE(IfcRelConnectsPorts) } -IfcRelConnectsPorts::list IfcPort::ConnectedTo() { RETURN_INVERSE(IfcRelConnectsPorts) } +IfcRelConnectsPortToElement::list::ptr IfcPort::ContainedIn() const { return entity->getInverse(Type::IfcRelConnectsPortToElement)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedFrom() const { return entity->getInverse(Type::IfcRelConnectsPorts)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsPorts)->as(); } bool IfcPort::is(Type::Enum v) const { return v == Type::IfcPort || IfcProduct::is(v); } Type::Enum IfcPort::type() const { return Type::IfcPort; } Type::Enum IfcPort::Class() { return Type::IfcPort; } -IfcPort::IfcPort(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPort::IfcPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPort::IfcPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPostalAddress -bool IfcPostalAddress::hasInternalLocation() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcPostalAddress::InternalLocation() { return *entity->getArgument(3); } +bool IfcPostalAddress::hasInternalLocation() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } void IfcPostalAddress::setInternalLocation(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPostalAddress::hasAddressLines() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() { return *entity->getArgument(4); } +bool IfcPostalAddress::hasAddressLines() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } void IfcPostalAddress::setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPostalAddress::hasPostalBox() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPostalAddress::PostalBox() { return *entity->getArgument(5); } +bool IfcPostalAddress::hasPostalBox() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } void IfcPostalAddress::setPostalBox(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPostalAddress::hasTown() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcPostalAddress::Town() { return *entity->getArgument(6); } +bool IfcPostalAddress::hasTown() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcPostalAddress::Town() const { return *entity->getArgument(6); } void IfcPostalAddress::setTown(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPostalAddress::hasRegion() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcPostalAddress::Region() { return *entity->getArgument(7); } +bool IfcPostalAddress::hasRegion() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcPostalAddress::Region() const { return *entity->getArgument(7); } void IfcPostalAddress::setRegion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPostalAddress::hasPostalCode() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcPostalAddress::PostalCode() { return *entity->getArgument(8); } +bool IfcPostalAddress::hasPostalCode() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } void IfcPostalAddress::setPostalCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcPostalAddress::hasCountry() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcPostalAddress::Country() { return *entity->getArgument(9); } +bool IfcPostalAddress::hasCountry() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcPostalAddress::Country() const { return *entity->getArgument(9); } void IfcPostalAddress::setCountry(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcPostalAddress::is(Type::Enum v) const { return v == Type::IfcPostalAddress || IfcAddress::is(v); } Type::Enum IfcPostalAddress::type() const { return Type::IfcPostalAddress; } Type::Enum IfcPostalAddress::Class() { return Type::IfcPostalAddress; } -IfcPostalAddress::IfcPostalAddress(IfcAbstractEntityPtr e) : IfcAddress((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPostalAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country) : IfcAddress((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPostalAddress::IfcPostalAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPostalAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedColour bool IfcPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcPreDefinedColour || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedColour::type() const { return Type::IfcPreDefinedColour; } Type::Enum IfcPreDefinedColour::Class() { return Type::IfcPreDefinedColour; } -IfcPreDefinedColour::IfcPreDefinedColour(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedColour::IfcPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedColour::IfcPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedColour::IfcPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedCurveFont bool IfcPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedCurveFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedCurveFont::type() const { return Type::IfcPreDefinedCurveFont; } Type::Enum IfcPreDefinedCurveFont::Class() { return Type::IfcPreDefinedCurveFont; } -IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedDimensionSymbol bool IfcPreDefinedDimensionSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedDimensionSymbol || IfcPreDefinedSymbol::is(v); } Type::Enum IfcPreDefinedDimensionSymbol::type() const { return Type::IfcPreDefinedDimensionSymbol; } Type::Enum IfcPreDefinedDimensionSymbol::Class() { return Type::IfcPreDefinedDimensionSymbol; } -IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcAbstractEntityPtr e) : IfcPreDefinedSymbol((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedDimensionSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcAbstractEntity* e) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedDimensionSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedItem -IfcLabel IfcPreDefinedItem::Name() { return *entity->getArgument(0); } +IfcLabel IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } void IfcPreDefinedItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPreDefinedItem::is(Type::Enum v) const { return v == Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::type() const { return Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::Class() { return Type::IfcPreDefinedItem; } -IfcPreDefinedItem::IfcPreDefinedItem(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPreDefinedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedItem::IfcPreDefinedItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPreDefinedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPreDefinedItem::IfcPreDefinedItem(IfcLabel v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedPointMarkerSymbol bool IfcPreDefinedPointMarkerSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedPointMarkerSymbol || IfcPreDefinedSymbol::is(v); } Type::Enum IfcPreDefinedPointMarkerSymbol::type() const { return Type::IfcPreDefinedPointMarkerSymbol; } Type::Enum IfcPreDefinedPointMarkerSymbol::Class() { return Type::IfcPreDefinedPointMarkerSymbol; } -IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcAbstractEntityPtr e) : IfcPreDefinedSymbol((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPointMarkerSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcAbstractEntity* e) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPointMarkerSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedSymbol bool IfcPreDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedSymbol || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedSymbol::type() const { return Type::IfcPreDefinedSymbol; } Type::Enum IfcPreDefinedSymbol::Class() { return Type::IfcPreDefinedSymbol; } -IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTerminatorSymbol bool IfcPreDefinedTerminatorSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedTerminatorSymbol || IfcPreDefinedSymbol::is(v); } Type::Enum IfcPreDefinedTerminatorSymbol::type() const { return Type::IfcPreDefinedTerminatorSymbol; } Type::Enum IfcPreDefinedTerminatorSymbol::Class() { return Type::IfcPreDefinedTerminatorSymbol; } -IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcAbstractEntityPtr e) : IfcPreDefinedSymbol((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTerminatorSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcAbstractEntity* e) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTerminatorSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTextFont bool IfcPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedTextFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedTextFont::type() const { return Type::IfcPreDefinedTextFont; } Type::Enum IfcPreDefinedTextFont::Class() { return Type::IfcPreDefinedTextFont; } -IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerAssignment -IfcLabel IfcPresentationLayerAssignment::Name() { return *entity->getArgument(0); } +IfcLabel IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } void IfcPresentationLayerAssignment::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPresentationLayerAssignment::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcPresentationLayerAssignment::Description() { return *entity->getArgument(1); } +bool IfcPresentationLayerAssignment::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } void IfcPresentationLayerAssignment::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPresentationLayerAssignment::AssignedItems() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPresentationLayerAssignment::setAssignedItems(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPresentationLayerAssignment::hasIdentifier() { return !entity->getArgument(3)->isNull(); } -IfcIdentifier IfcPresentationLayerAssignment::Identifier() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationLayerAssignment::AssignedItems() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPresentationLayerAssignment::setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcPresentationLayerAssignment::hasIdentifier() const { return !entity->getArgument(3)->isNull(); } +IfcIdentifier IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } void IfcPresentationLayerAssignment::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::type() const { return Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::Class() { return Type::IfcPresentationLayerAssignment; } -IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationLayerAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationLayerAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerWithStyle -bool IfcPresentationLayerWithStyle::LayerOn() { return *entity->getArgument(4); } +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); } -bool IfcPresentationLayerWithStyle::LayerFrozen() { return *entity->getArgument(5); } +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); } -bool IfcPresentationLayerWithStyle::LayerBlocked() { return *entity->getArgument(6); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPresentationLayerWithStyle::LayerStyles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,7) } -void IfcPresentationLayerWithStyle::setLayerStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationLayerWithStyle::LayerStyles() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcPresentationLayerWithStyle::setLayerStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } bool IfcPresentationLayerWithStyle::is(Type::Enum v) const { return v == Type::IfcPresentationLayerWithStyle || IfcPresentationLayerAssignment::is(v); } Type::Enum IfcPresentationLayerWithStyle::type() const { return Type::IfcPresentationLayerWithStyle; } Type::Enum IfcPresentationLayerWithStyle::Class() { return Type::IfcPresentationLayerWithStyle; } -IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntityPtr e) : IfcPresentationLayerAssignment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPresentationLayerWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntities v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)); entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntity* e) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPresentationLayerWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyle -bool IfcPresentationStyle::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcPresentationStyle::Name() { return *entity->getArgument(0); } +bool IfcPresentationStyle::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcPresentationStyle::Name() const { return *entity->getArgument(0); } void IfcPresentationStyle::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPresentationStyle::is(Type::Enum v) const { return v == Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } -IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPresentationStyle::IfcPresentationStyle(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyleAssignment -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPresentationStyleAssignment::Styles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcPresentationStyleAssignment::setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationStyleAssignment::Styles() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcPresentationStyleAssignment::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyleAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntities v1_Styles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Styles)); entity = e; EntityBuffer::Add(this); } +IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyleAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityList::ptr v1_Styles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcedure -IfcIdentifier IfcProcedure::ProcedureID() { return *entity->getArgument(5); } +IfcIdentifier IfcProcedure::ProcedureID() const { return *entity->getArgument(5); } void IfcProcedure::setProcedureID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedure::ProcedureType() { return IfcProcedureTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcProcedure::UserDefinedProcedureType() { return *entity->getArgument(7); } +bool IfcProcedure::hasUserDefinedProcedureType() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcProcedure::UserDefinedProcedureType() const { return *entity->getArgument(7); } void IfcProcedure::setUserDefinedProcedureType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedure::IfcProcedure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< IfcLabel > v8_UserDefinedProcedureType) : IfcProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ProcedureID)); e->setArgument(6,v7_ProcedureType,IfcProcedureTypeEnum::ToString(v7_ProcedureType)); if (v8_UserDefinedProcedureType) { e->setArgument(7,(*v8_UserDefinedProcedureType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProcedure::IfcProcedure(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProcedure::IfcProcedure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< IfcLabel > v8_UserDefinedProcedureType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ProcedureID)); e->setArgument(6,v7_ProcedureType,IfcProcedureTypeEnum::ToString(v7_ProcedureType)); if (v8_UserDefinedProcedureType) { e->setArgument(7,(*v8_UserDefinedProcedureType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcess -IfcRelAssignsToProcess::list IfcProcess::OperatesOn() { RETURN_INVERSE(IfcRelAssignsToProcess) } -IfcRelSequence::list IfcProcess::IsSuccessorFrom() { RETURN_INVERSE(IfcRelSequence) } -IfcRelSequence::list IfcProcess::IsPredecessorTo() { RETURN_INVERSE(IfcRelSequence) } +IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return entity->getInverse(Type::IfcRelSequence)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return entity->getInverse(Type::IfcRelSequence)->as(); } bool IfcProcess::is(Type::Enum v) const { return v == Type::IfcProcess || IfcObject::is(v); } Type::Enum IfcProcess::type() const { return Type::IfcProcess; } Type::Enum IfcProcess::Class() { return Type::IfcProcess; } -IfcProcess::IfcProcess(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcess::IfcProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcProcess::IfcProcess(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProcess::IfcProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProduct -bool IfcProduct::hasObjectPlacement() { return !entity->getArgument(5)->isNull(); } -IfcObjectPlacement* IfcProduct::ObjectPlacement() { return (IfcObjectPlacement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcProductRepresentation* IfcProduct::Representation() { return (IfcProductRepresentation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -IfcRelAssignsToProduct::list IfcProduct::ReferencedBy() { RETURN_INVERSE(IfcRelAssignsToProduct) } +IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct)->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(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProduct::IfcProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProduct::IfcProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductDefinitionShape -IfcProduct::list IfcProductDefinitionShape::ShapeOfProduct() { RETURN_INVERSE(IfcProduct) } -IfcShapeAspect::list IfcProductDefinitionShape::HasShapeAspects() { RETURN_INVERSE(IfcShapeAspect) } +IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return entity->getInverse(Type::IfcProduct)->as(); } +IfcShapeAspect::list::ptr IfcProductDefinitionShape::HasShapeAspects() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } bool IfcProductDefinitionShape::is(Type::Enum v) const { return v == Type::IfcProductDefinitionShape || IfcProductRepresentation::is(v); } Type::Enum IfcProductDefinitionShape::type() const { return Type::IfcProductDefinitionShape; } Type::Enum IfcProductDefinitionShape::Class() { return Type::IfcProductDefinitionShape; } -IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntityPtr e) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProductDefinitionShape)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProductDefinitionShape)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductRepresentation -bool IfcProductRepresentation::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcProductRepresentation::Name() { return *entity->getArgument(0); } +bool IfcProductRepresentation::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcProductRepresentation::Name() const { return *entity->getArgument(0); } void IfcProductRepresentation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProductRepresentation::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcProductRepresentation::Description() { return *entity->getArgument(1); } +bool IfcProductRepresentation::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcProductRepresentation::Description() const { return *entity->getArgument(1); } void IfcProductRepresentation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > IfcProductRepresentation::Representations() { RETURN_AS_LIST(IfcRepresentation,2) } -void IfcProductRepresentation::setRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcTemplatedEntityList< IfcRepresentation >::ptr IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcProductRepresentation::is(Type::Enum v) const { return v == Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::type() const { return Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::Class() { return Type::IfcProductRepresentation; } -IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProductRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductRepresentation::IfcProductRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProductRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProductRepresentation::IfcProductRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductsOfCombustionProperties -bool IfcProductsOfCombustionProperties::hasSpecificHeatCapacity() { return !entity->getArgument(1)->isNull(); } -IfcSpecificHeatCapacityMeasure IfcProductsOfCombustionProperties::SpecificHeatCapacity() { return *entity->getArgument(1); } +bool IfcProductsOfCombustionProperties::hasSpecificHeatCapacity() const { return !entity->getArgument(1)->isNull(); } +IfcSpecificHeatCapacityMeasure IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } void IfcProductsOfCombustionProperties::setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcProductsOfCombustionProperties::hasN20Content() { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::N20Content() { return *entity->getArgument(2); } +bool IfcProductsOfCombustionProperties::hasN20Content() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::N20Content() const { return *entity->getArgument(2); } void IfcProductsOfCombustionProperties::setN20Content(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcProductsOfCombustionProperties::hasCOContent() { return !entity->getArgument(3)->isNull(); } -IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::COContent() { return *entity->getArgument(3); } +bool IfcProductsOfCombustionProperties::hasCOContent() const { return !entity->getArgument(3)->isNull(); } +IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::COContent() const { return *entity->getArgument(3); } void IfcProductsOfCombustionProperties::setCOContent(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcProductsOfCombustionProperties::hasCO2Content() { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::CO2Content() { return *entity->getArgument(4); } +bool IfcProductsOfCombustionProperties::hasCO2Content() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::CO2Content() const { return *entity->getArgument(4); } void IfcProductsOfCombustionProperties::setCO2Content(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcProductsOfCombustionProperties::is(Type::Enum v) const { return v == Type::IfcProductsOfCombustionProperties || IfcMaterialProperties::is(v); } Type::Enum IfcProductsOfCombustionProperties::type() const { return Type::IfcProductsOfCombustionProperties; } Type::Enum IfcProductsOfCombustionProperties::Class() { return Type::IfcProductsOfCombustionProperties; } -IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProductsOfCombustionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcPositiveRatioMeasure > v3_N20Content, boost::optional< IfcPositiveRatioMeasure > v4_COContent, boost::optional< IfcPositiveRatioMeasure > v5_CO2Content) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_N20Content) { e->setArgument(2,(*v3_N20Content)); } else { e->setArgument(2); } if (v4_COContent) { e->setArgument(3,(*v4_COContent)); } else { e->setArgument(3); } if (v5_CO2Content) { e->setArgument(4,(*v5_CO2Content)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProductsOfCombustionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcPositiveRatioMeasure > v3_N20Content, boost::optional< IfcPositiveRatioMeasure > v4_COContent, boost::optional< IfcPositiveRatioMeasure > v5_CO2Content) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_N20Content) { e->setArgument(2,(*v3_N20Content)); } else { e->setArgument(2); } if (v4_COContent) { e->setArgument(3,(*v4_COContent)); } else { e->setArgument(3); } if (v5_CO2Content) { e->setArgument(4,(*v5_CO2Content)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileDef -IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileDef::ProfileType() { return IfcProfileTypeEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcProfileDef::ProfileName() { return *entity->getArgument(1); } +bool IfcProfileDef::hasProfileName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } void IfcProfileDef::setProfileName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcProfileDef::is(Type::Enum v) const { return v == Type::IfcProfileDef; } Type::Enum IfcProfileDef::type() const { return Type::IfcProfileDef; } Type::Enum IfcProfileDef::Class() { return Type::IfcProfileDef; } -IfcProfileDef::IfcProfileDef(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProfileDef::IfcProfileDef(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileProperties -bool IfcProfileProperties::hasProfileName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcProfileProperties::ProfileName() { return *entity->getArgument(0); } +bool IfcProfileProperties::hasProfileName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcProfileProperties::ProfileName() const { return *entity->getArgument(0); } void IfcProfileProperties::setProfileName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProfileProperties::hasProfileDefinition() { return !entity->getArgument(1)->isNull(); } -IfcProfileDef* IfcProfileProperties::ProfileDefinition() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProfileProperties::IfcProfileProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcProfileProperties::IfcProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProject -bool IfcProject::hasLongName() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcProject::LongName() { return *entity->getArgument(5); } +bool IfcProject::hasLongName() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcProject::LongName() const { return *entity->getArgument(5); } void IfcProject::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProject::hasPhase() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcProject::Phase() { return *entity->getArgument(6); } +bool IfcProject::hasPhase() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcProject::Phase() const { return *entity->getArgument(6); } void IfcProject::setPhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > IfcProject::RepresentationContexts() { RETURN_AS_LIST(IfcRepresentationContext,7) } -void IfcProject::setRepresentationContexts(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -IfcUnitAssignment* IfcProject::UnitsInContext() { return (IfcUnitAssignment*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +IfcTemplatedEntityList< IfcRepresentationContext >::ptr IfcProject::RepresentationContexts() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcProject::setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +IfcUnitAssignment* IfcProject::UnitsInContext() const { return (IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcProject::setUnitsInContext(IfcUnitAssignment* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->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; } -IfcProject::IfcProject(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProject::IfcProject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } e->setArgument(7,(v8_RepresentationContexts)->generalize()); e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcProject::IfcProject(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProject::IfcProject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, IfcTemplatedEntityList< IfcRepresentationContext >::ptr v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } e->setArgument(7,(v8_RepresentationContexts)->generalize()); e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrder -IfcIdentifier IfcProjectOrder::ID() { return *entity->getArgument(5); } +IfcIdentifier IfcProjectOrder::ID() const { return *entity->getArgument(5); } void IfcProjectOrder::setID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrder::PredefinedType() { return IfcProjectOrderTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcProjectOrder::Status() { return *entity->getArgument(7); } +bool IfcProjectOrder::hasStatus() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcProjectOrder::Status() const { return *entity->getArgument(7); } void IfcProjectOrder::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrder::IfcProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< IfcLabel > v8_Status) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ID)); e->setArgument(6,v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(v7_PredefinedType)); if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProjectOrder::IfcProjectOrder(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectOrder::IfcProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< IfcLabel > v8_Status) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ID)); e->setArgument(6,v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(v7_PredefinedType)); if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrderRecord -SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > IfcProjectOrderRecord::Records() { RETURN_AS_LIST(IfcRelAssignsToProjectOrder,5) } -void IfcProjectOrderRecord::setRecords(SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } -IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum IfcProjectOrderRecord::PredefinedType() { return IfcProjectOrderRecordTypeEnum::FromString(*entity->getArgument(6)); } +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()); } +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)); } 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; } -IfcProjectOrderRecord::IfcProjectOrderRecord(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectOrderRecord)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrderRecord::IfcProjectOrderRecord(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Records)->generalize()); e->setArgument(6,v7_PredefinedType,IfcProjectOrderRecordTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProjectOrderRecord::IfcProjectOrderRecord(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrderRecord)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectOrderRecord::IfcProjectOrderRecord(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Records)->generalize()); e->setArgument(6,v7_PredefinedType,IfcProjectOrderRecordTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionCurve bool IfcProjectionCurve::is(Type::Enum v) const { return v == Type::IfcProjectionCurve || IfcAnnotationCurveOccurrence::is(v); } Type::Enum IfcProjectionCurve::type() const { return Type::IfcProjectionCurve; } Type::Enum IfcProjectionCurve::Class() { return Type::IfcProjectionCurve; } -IfcProjectionCurve::IfcProjectionCurve(IfcAbstractEntityPtr e) : IfcAnnotationCurveOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectionCurve::IfcProjectionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcFeatureElementAddition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionElement::IfcProjectionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElementAddition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectionElement::IfcProjectionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProperty -IfcIdentifier IfcProperty::Name() { return *entity->getArgument(0); } +IfcIdentifier IfcProperty::Name() const { return *entity->getArgument(0); } void IfcProperty::setName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProperty::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcProperty::Description() { return *entity->getArgument(1); } +bool IfcProperty::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcProperty::Description() const { return *entity->getArgument(1); } void IfcProperty::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPropertyDependencyRelationship::list IfcProperty::PropertyForDependance() { RETURN_INVERSE(IfcPropertyDependencyRelationship) } -IfcPropertyDependencyRelationship::list IfcProperty::PropertyDependsOn() { RETURN_INVERSE(IfcPropertyDependencyRelationship) } -IfcComplexProperty::list IfcProperty::PartOfComplex() { RETURN_INVERSE(IfcComplexProperty) } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } +IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return entity->getInverse(Type::IfcComplexProperty)->as(); } bool IfcProperty::is(Type::Enum v) const { return v == Type::IfcProperty; } Type::Enum IfcProperty::type() const { return Type::IfcProperty; } Type::Enum IfcProperty::Class() { return Type::IfcProperty; } -IfcProperty::IfcProperty(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProperty::IfcProperty(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcProperty::IfcProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyBoundedValue -bool IfcPropertyBoundedValue::hasUpperBoundValue() { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertyBoundedValue::UpperBoundValue() { return *entity->getArgument(2); } +bool IfcPropertyBoundedValue::hasUpperBoundValue() const { return !entity->getArgument(2)->isNull(); } +IfcValue IfcPropertyBoundedValue::UpperBoundValue() const { return *entity->getArgument(2); } void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyBoundedValue::hasLowerBoundValue() { return !entity->getArgument(3)->isNull(); } -IfcValue IfcPropertyBoundedValue::LowerBoundValue() { return *entity->getArgument(3); } +bool IfcPropertyBoundedValue::hasLowerBoundValue() const { return !entity->getArgument(3)->isNull(); } +IfcValue IfcPropertyBoundedValue::LowerBoundValue() const { return *entity->getArgument(3); } void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyBoundedValue::hasUnit() { return !entity->getArgument(4)->isNull(); } -IfcUnit IfcPropertyBoundedValue::Unit() { return *entity->getArgument(4); } +bool IfcPropertyBoundedValue::hasUnit() const { return !entity->getArgument(4)->isNull(); } +IfcUnit IfcPropertyBoundedValue::Unit() const { return *entity->getArgument(4); } void IfcPropertyBoundedValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyConstraintRelationship -IfcConstraint* IfcPropertyConstraintRelationship::RelatingConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcPropertyConstraintRelationship::RelatedProperties() { RETURN_AS_LIST(IfcProperty,1) } -void IfcPropertyConstraintRelationship::setRelatedProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcPropertyConstraintRelationship::hasName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPropertyConstraintRelationship::Name() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertyConstraintRelationship::RelatedProperties() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcPropertyConstraintRelationship::setRelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcPropertyConstraintRelationship::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcPropertyConstraintRelationship::Name() const { return *entity->getArgument(2); } void IfcPropertyConstraintRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyConstraintRelationship::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcPropertyConstraintRelationship::Description() { return *entity->getArgument(3); } +bool IfcPropertyConstraintRelationship::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcPropertyConstraintRelationship::Description() const { return *entity->getArgument(3); } void IfcPropertyConstraintRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyConstraintRelationship; } Type::Enum IfcPropertyConstraintRelationship::type() const { return Type::IfcPropertyConstraintRelationship; } Type::Enum IfcPropertyConstraintRelationship::Class() { return Type::IfcPropertyConstraintRelationship; } -IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcConstraint* v1_RelatingConstraint, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v2_RelatedProperties, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingConstraint)); e->setArgument(1,(v2_RelatedProperties)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcConstraint* v1_RelatingConstraint, IfcTemplatedEntityList< IfcProperty >::ptr v2_RelatedProperties, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingConstraint)); e->setArgument(1,(v2_RelatedProperties)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDefinition -IfcRelAssociates::list IfcPropertyDefinition::HasAssociations() { RETURN_INVERSE(IfcRelAssociates) } +IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return entity->getInverse(Type::IfcRelAssociates)->as(); } bool IfcPropertyDefinition::is(Type::Enum v) const { return v == Type::IfcPropertyDefinition || IfcRoot::is(v); } Type::Enum IfcPropertyDefinition::type() const { return Type::IfcPropertyDefinition; } Type::Enum IfcPropertyDefinition::Class() { return Type::IfcPropertyDefinition; } -IfcPropertyDefinition::IfcPropertyDefinition(IfcAbstractEntityPtr e) : IfcRoot((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDefinition::IfcPropertyDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyDefinition::IfcPropertyDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDependencyRelationship -IfcProperty* IfcPropertyDependencyRelationship::DependingProperty() { return (IfcProperty*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcProperty* IfcPropertyDependencyRelationship::DependantProperty() { return (IfcProperty*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPropertyDependencyRelationship::Name() { return *entity->getArgument(2); } +bool IfcPropertyDependencyRelationship::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcPropertyDependencyRelationship::Name() const { return *entity->getArgument(2); } void IfcPropertyDependencyRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyDependencyRelationship::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcPropertyDependencyRelationship::Description() { return *entity->getArgument(3); } +bool IfcPropertyDependencyRelationship::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcPropertyDependencyRelationship::Description() const { return *entity->getArgument(3); } void IfcPropertyDependencyRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyDependencyRelationship::hasExpression() { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyDependencyRelationship::Expression() { return *entity->getArgument(4); } +bool IfcPropertyDependencyRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } void IfcPropertyDependencyRelationship::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyDependencyRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } -IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcProperty* v1_DependingProperty, IfcProperty* v2_DependantProperty, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcText > v5_Expression) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DependingProperty)); e->setArgument(1,(v2_DependantProperty)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeratedValue -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyEnumeratedValue::EnumerationValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPropertyEnumeratedValue::setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPropertyEnumeratedValue::hasEnumerationReference() { return !entity->getArgument(3)->isNull(); } -IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() { return (IfcPropertyEnumeration*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPropertyEnumeratedValue::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_EnumerationValues)); e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeration -IfcLabel IfcPropertyEnumeration::Name() { return *entity->getArgument(0); } +IfcLabel IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } void IfcPropertyEnumeration::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyEnumeration::EnumerationValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcPropertyEnumeration::setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcPropertyEnumeration::hasUnit() { return !entity->getArgument(2)->isNull(); } -IfcUnit IfcPropertyEnumeration::Unit() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeration::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcPropertyEnumeration::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcPropertyEnumeration::hasUnit() const { return !entity->getArgument(2)->isNull(); } +IfcUnit IfcPropertyEnumeration::Unit() const { return *entity->getArgument(2); } void IfcPropertyEnumeration::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeration::IfcPropertyEnumeration(IfcLabel v1_Name, IfcEntities v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyEnumeration::IfcPropertyEnumeration(IfcLabel v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyListValue -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyListValue::ListValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPropertyListValue::setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPropertyListValue::hasUnit() { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertyListValue::Unit() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyListValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPropertyListValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcPropertyListValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } +IfcUnit IfcPropertyListValue::Unit() const { return *entity->getArgument(3); } void IfcPropertyListValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyListValue::IfcPropertyListValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_ListValues, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_ListValues)); if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyListValue::IfcPropertyListValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyListValue::IfcPropertyListValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_ListValues, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_ListValues)); if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyReferenceValue -bool IfcPropertyReferenceValue::hasUsageName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPropertyReferenceValue::UsageName() { return *entity->getArgument(2); } +bool IfcPropertyReferenceValue::hasUsageName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } void IfcPropertyReferenceValue::setUsageName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcObjectReferenceSelect IfcPropertyReferenceValue::PropertyReference() { return *entity->getArgument(3); } +IfcObjectReferenceSelect IfcPropertyReferenceValue::PropertyReference() const { return *entity->getArgument(3); } void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UsageName, IfcObjectReferenceSelect v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UsageName, IfcObjectReferenceSelect v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } e->setArgument(3,(v4_PropertyReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySet -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcPropertySet::HasProperties() { RETURN_AS_LIST(IfcProperty,4) } -void IfcPropertySet::setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySet::IfcPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySet::IfcPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetDefinition -IfcRelDefinesByProperties::list IfcPropertySetDefinition::PropertyDefinitionOf() { RETURN_INVERSE(IfcRelDefinesByProperties) } -IfcTypeObject::list IfcPropertySetDefinition::DefinesType() { RETURN_INVERSE(IfcTypeObject) } +IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::PropertyDefinitionOf() const { return entity->getInverse(Type::IfcRelDefinesByProperties)->as(); } +IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return entity->getInverse(Type::IfcTypeObject)->as(); } bool IfcPropertySetDefinition::is(Type::Enum v) const { return v == Type::IfcPropertySetDefinition || IfcPropertyDefinition::is(v); } Type::Enum IfcPropertySetDefinition::type() const { return Type::IfcPropertySetDefinition; } Type::Enum IfcPropertySetDefinition::Class() { return Type::IfcPropertySetDefinition; } -IfcPropertySetDefinition::IfcPropertySetDefinition(IfcAbstractEntityPtr e) : IfcPropertyDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetDefinition::IfcPropertySetDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySetDefinition::IfcPropertySetDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySingleValue -bool IfcPropertySingleValue::hasNominalValue() { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertySingleValue::NominalValue() { return *entity->getArgument(2); } +bool IfcPropertySingleValue::hasNominalValue() const { return !entity->getArgument(2)->isNull(); } +IfcValue IfcPropertySingleValue::NominalValue() const { return *entity->getArgument(2); } void IfcPropertySingleValue::setNominalValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertySingleValue::hasUnit() { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertySingleValue::Unit() { return *entity->getArgument(3); } +bool IfcPropertySingleValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } +IfcUnit IfcPropertySingleValue::Unit() const { return *entity->getArgument(3); } void IfcPropertySingleValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySingleValue::IfcPropertySingleValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySingleValue::IfcPropertySingleValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTableValue -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyTableValue::DefiningValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPropertyTableValue::setDefiningValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyTableValue::DefinedValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,3) } -void IfcPropertyTableValue::setDefinedValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcPropertyTableValue::hasExpression() { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyTableValue::Expression() { return *entity->getArgument(4); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefiningValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPropertyTableValue::setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefinedValues() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcPropertyTableValue::setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +bool IfcPropertyTableValue::hasExpression() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } void IfcPropertyTableValue::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPropertyTableValue::hasDefiningUnit() { return !entity->getArgument(5)->isNull(); } -IfcUnit IfcPropertyTableValue::DefiningUnit() { return *entity->getArgument(5); } +bool IfcPropertyTableValue::hasDefiningUnit() const { return !entity->getArgument(5)->isNull(); } +IfcUnit IfcPropertyTableValue::DefiningUnit() const { return *entity->getArgument(5); } void IfcPropertyTableValue::setDefiningUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPropertyTableValue::hasDefinedUnit() { return !entity->getArgument(6)->isNull(); } -IfcUnit IfcPropertyTableValue::DefinedUnit() { return *entity->getArgument(6); } +bool IfcPropertyTableValue::hasDefinedUnit() const { return !entity->getArgument(6)->isNull(); } +IfcUnit IfcPropertyTableValue::DefinedUnit() const { return *entity->getArgument(6); } void IfcPropertyTableValue::setDefinedUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTableValue::IfcPropertyTableValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_DefiningValues, IfcEntities v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DefiningValues)); e->setArgument(3,(v4_DefinedValues)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTableValue::IfcPropertyTableValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyTableValue::IfcPropertyTableValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DefiningValues)); e->setArgument(3,(v4_DefinedValues)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceType -IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceType::PredefinedType() { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProxy -IfcObjectTypeEnum::IfcObjectTypeEnum IfcProxy::ProxyType() { return IfcObjectTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcProxy::Tag() { return *entity->getArgument(8); } +bool IfcProxy::hasTag() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcProxy::Tag() const { return *entity->getArgument(8); } void IfcProxy::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProxy::IfcProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProxy::IfcProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPumpType -IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpType::PredefinedType() { return IfcPumpTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPumpType::IfcPumpType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPumpType::IfcPumpType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityArea -IfcAreaMeasure IfcQuantityArea::AreaValue() { return *entity->getArgument(3); } +IfcAreaMeasure IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } void IfcQuantityArea::setAreaValue(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityArea::IfcQuantityArea(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityArea::IfcQuantityArea(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityCount -IfcCountMeasure IfcQuantityCount::CountValue() { return *entity->getArgument(3); } +IfcCountMeasure IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } void IfcQuantityCount::setCountValue(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityCount::IfcQuantityCount(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityCount::IfcQuantityCount(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityLength -IfcLengthMeasure IfcQuantityLength::LengthValue() { return *entity->getArgument(3); } +IfcLengthMeasure IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } void IfcQuantityLength::setLengthValue(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityLength::IfcQuantityLength(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityLength::IfcQuantityLength(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityTime -IfcTimeMeasure IfcQuantityTime::TimeValue() { return *entity->getArgument(3); } +IfcTimeMeasure IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } void IfcQuantityTime::setTimeValue(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityTime::IfcQuantityTime(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityTime::IfcQuantityTime(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityVolume -IfcVolumeMeasure IfcQuantityVolume::VolumeValue() { return *entity->getArgument(3); } +IfcVolumeMeasure IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } void IfcQuantityVolume::setVolumeValue(IfcVolumeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityVolume::IfcQuantityVolume(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityVolume::IfcQuantityVolume(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityWeight -IfcMassMeasure IfcQuantityWeight::WeightValue() { return *entity->getArgument(3); } +IfcMassMeasure IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } void IfcQuantityWeight::setWeightValue(IfcMassMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityWeight::IfcQuantityWeight(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityWeight::IfcQuantityWeight(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRadiusDimension bool IfcRadiusDimension::is(Type::Enum v) const { return v == Type::IfcRadiusDimension || IfcDimensionCurveDirectedCallout::is(v); } Type::Enum IfcRadiusDimension::type() const { return Type::IfcRadiusDimension; } Type::Enum IfcRadiusDimension::Class() { return Type::IfcRadiusDimension; } -IfcRadiusDimension::IfcRadiusDimension(IfcAbstractEntityPtr e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRadiusDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRadiusDimension::IfcRadiusDimension(IfcEntities v1_Contents) : IfcDimensionCurveDirectedCallout((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcRadiusDimension::IfcRadiusDimension(IfcAbstractEntity* e) : IfcDimensionCurveDirectedCallout((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRadiusDimension)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailing::PredefinedType() { return IfcRailingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailing::IfcRailing(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRailing::IfcRailing(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailingType -IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingType::PredefinedType() { return IfcRailingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailingType::IfcRailingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRailingType::IfcRailingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRamp -IfcRampTypeEnum::IfcRampTypeEnum IfcRamp::ShapeType() { return IfcRampTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRamp::IfcRamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRamp::IfcRamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRampTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlight::IfcRampFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRampFlight::IfcRampFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlightType -IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightType::PredefinedType() { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlightType::IfcRampFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRampFlightType::IfcRampFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBezierCurve -std::vector< double > /*[2:?]*/ IfcRationalBezierCurve::WeightsData() { return *entity->getArgument(5); } +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); } 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; } -IfcRationalBezierCurve::IfcRationalBezierCurve(IfcAbstractEntityPtr e) : IfcBezierCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRationalBezierCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) : IfcBezierCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_WeightsData)); entity = e; EntityBuffer::Add(this); } +IfcRationalBezierCurve::IfcRationalBezierCurve(IfcAbstractEntity* e) : IfcBezierCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRationalBezierCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) : IfcBezierCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_WeightsData)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleHollowProfileDef -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::WallThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } void IfcRectangleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::InnerFilletRadius() { return *entity->getArgument(6); } +bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } void IfcRectangleHollowProfileDef::setInnerFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::OuterFilletRadius() { return *entity->getArgument(7); } +bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } void IfcRectangleHollowProfileDef::setOuterFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcRectangleProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcPositiveLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcPositiveLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleProfileDef -IfcPositiveLengthMeasure IfcRectangleProfileDef::XDim() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } void IfcRectangleProfileDef::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcRectangleProfileDef::YDim() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } void IfcRectangleProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularPyramid -IfcPositiveLengthMeasure IfcRectangularPyramid::XLength() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } void IfcRectangularPyramid::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::YLength() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } void IfcRectangularPyramid::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::Height() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } void IfcRectangularPyramid::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRectangularPyramid::is(Type::Enum v) const { return v == Type::IfcRectangularPyramid || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRectangularPyramid::type() const { return Type::IfcRectangularPyramid; } Type::Enum IfcRectangularPyramid::Class() { return Type::IfcRectangularPyramid; } -IfcRectangularPyramid::IfcRectangularPyramid(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangularPyramid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } +IfcRectangularPyramid::IfcRectangularPyramid(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularPyramid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularTrimmedSurface -IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcRectangularTrimmedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U1() { return *entity->getArgument(1); } +IfcParameterValue IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } void IfcRectangularTrimmedSurface::setU1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V1() { return *entity->getArgument(2); } +IfcParameterValue IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } void IfcRectangularTrimmedSurface::setV1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U2() { return *entity->getArgument(3); } +IfcParameterValue IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } void IfcRectangularTrimmedSurface::setU2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V2() { return *entity->getArgument(4); } +IfcParameterValue IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } void IfcRectangularTrimmedSurface::setV2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRectangularTrimmedSurface::Usense() { return *entity->getArgument(5); } +bool IfcRectangularTrimmedSurface::Usense() const { return *entity->getArgument(5); } void IfcRectangularTrimmedSurface::setUsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRectangularTrimmedSurface::Vsense() { return *entity->getArgument(6); } +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); } 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; } -IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntityPtr e) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } +IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReferencesValueDocument -IfcDocumentSelect IfcReferencesValueDocument::ReferencedDocument() { return *entity->getArgument(0); } +IfcDocumentSelect IfcReferencesValueDocument::ReferencedDocument() const { return *entity->getArgument(0); } void IfcReferencesValueDocument::setReferencedDocument(IfcDocumentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcReferencesValueDocument::ReferencingValues() { RETURN_AS_LIST(IfcAppliedValue,1) } -void IfcReferencesValueDocument::setReferencingValues(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcReferencesValueDocument::hasName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcReferencesValueDocument::Name() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcReferencesValueDocument::ReferencingValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcReferencesValueDocument::setReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcReferencesValueDocument::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcReferencesValueDocument::Name() const { return *entity->getArgument(2); } void IfcReferencesValueDocument::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcReferencesValueDocument::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcReferencesValueDocument::Description() { return *entity->getArgument(3); } +bool IfcReferencesValueDocument::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcReferencesValueDocument::Description() const { return *entity->getArgument(3); } void IfcReferencesValueDocument::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcReferencesValueDocument::is(Type::Enum v) const { return v == Type::IfcReferencesValueDocument; } Type::Enum IfcReferencesValueDocument::type() const { return Type::IfcReferencesValueDocument; } Type::Enum IfcReferencesValueDocument::Class() { return Type::IfcReferencesValueDocument; } -IfcReferencesValueDocument::IfcReferencesValueDocument(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReferencesValueDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReferencesValueDocument::IfcReferencesValueDocument(IfcDocumentSelect v1_ReferencedDocument, SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v2_ReferencingValues, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ReferencedDocument)); e->setArgument(1,(v2_ReferencingValues)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcReferencesValueDocument::IfcReferencesValueDocument(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReferencesValueDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReferencesValueDocument::IfcReferencesValueDocument(IfcDocumentSelect v1_ReferencedDocument, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ReferencedDocument)); e->setArgument(1,(v2_ReferencingValues)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRegularTimeSeries -IfcTimeMeasure IfcRegularTimeSeries::TimeStep() { return *entity->getArgument(8); } +IfcTimeMeasure IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } void IfcRegularTimeSeries::setTimeStep(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > IfcRegularTimeSeries::Values() { RETURN_AS_LIST(IfcTimeSeriesValue,9) } -void IfcRegularTimeSeries::setValues(SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } +void IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } bool IfcRegularTimeSeries::is(Type::Enum v) const { return v == Type::IfcRegularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcRegularTimeSeries::type() const { return Type::IfcRegularTimeSeries; } Type::Enum IfcRegularTimeSeries::Class() { return Type::IfcRegularTimeSeries; } -IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntityPtr e) : IfcTimeSeries((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRegularTimeSeries::IfcRegularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v10_Values) : IfcTimeSeries((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRegularTimeSeries::IfcRegularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementBarProperties -IfcAreaMeasure IfcReinforcementBarProperties::TotalCrossSectionArea() { return *entity->getArgument(0); } +IfcAreaMeasure IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } void IfcReinforcementBarProperties::setTotalCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcReinforcementBarProperties::SteelGrade() { return *entity->getArgument(1); } +IfcLabel IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } void IfcReinforcementBarProperties::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcReinforcementBarProperties::hasBarSurface() { return !entity->getArgument(2)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcementBarProperties::BarSurface() { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(2)); } +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() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcReinforcementBarProperties::EffectiveDepth() { return *entity->getArgument(3); } +bool IfcReinforcementBarProperties::hasEffectiveDepth() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } void IfcReinforcementBarProperties::setEffectiveDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcReinforcementBarProperties::hasNominalBarDiameter() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcementBarProperties::NominalBarDiameter() { return *entity->getArgument(4); } +bool IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } void IfcReinforcementBarProperties::setNominalBarDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcReinforcementBarProperties::hasBarCount() { return !entity->getArgument(5)->isNull(); } -IfcCountMeasure IfcReinforcementBarProperties::BarCount() { return *entity->getArgument(5); } +bool IfcReinforcementBarProperties::hasBarCount() const { return !entity->getArgument(5)->isNull(); } +IfcCountMeasure IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } void IfcReinforcementBarProperties::setBarCount(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcReinforcementBarProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::type() const { return Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::Class() { return Type::IfcReinforcementBarProperties; } -IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReinforcementBarProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReinforcementBarProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementDefinitionProperties -bool IfcReinforcementDefinitionProperties::hasDefinitionType() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() { return *entity->getArgument(4); } +bool IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } void IfcReinforcementDefinitionProperties::setDefinitionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() { RETURN_AS_LIST(IfcSectionReinforcementProperties,5) } -void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } +void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } bool IfcReinforcementDefinitionProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementDefinitionProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcReinforcementDefinitionProperties::type() const { return Type::IfcReinforcementDefinitionProperties; } Type::Enum IfcReinforcementDefinitionProperties::Class() { return Type::IfcReinforcementDefinitionProperties; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v6_ReinforcementSectionDefinitions) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBar -IfcPositiveLengthMeasure IfcReinforcingBar::NominalDiameter() { return *entity->getArgument(9); } +IfcPositiveLengthMeasure IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } void IfcReinforcingBar::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcAreaMeasure IfcReinforcingBar::CrossSectionArea() { return *entity->getArgument(10); } +IfcAreaMeasure IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } void IfcReinforcingBar::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingBar::hasBarLength() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBar::BarLength() { return *entity->getArgument(11); } +bool IfcReinforcingBar::hasBarLength() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } void IfcReinforcingBar::setBarLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcReinforcingBar::BarRole() { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(12)); } +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() { return !entity->getArgument(13)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBar::BarSurface() { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBar::IfcReinforcingBar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcPositiveLengthMeasure v10_NominalDiameter, IfcAreaMeasure v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingBar::IfcReinforcingBar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcPositiveLengthMeasure v10_NominalDiameter, IfcAreaMeasure v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,(v10_NominalDiameter)); e->setArgument(10,(v11_CrossSectionArea)); if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } e->setArgument(12,v13_BarRole,IfcReinforcingBarRoleEnum::ToString(v13_BarRole)); if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElement -bool IfcReinforcingElement::hasSteelGrade() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcReinforcingElement::SteelGrade() { return *entity->getArgument(8); } +bool IfcReinforcingElement::hasSteelGrade() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } void IfcReinforcingElement::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElement::IfcReinforcingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcBuildingElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingElement::IfcReinforcingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMesh -bool IfcReinforcingMesh::hasMeshLength() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshLength() { return *entity->getArgument(9); } +bool IfcReinforcingMesh::hasMeshLength() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } void IfcReinforcingMesh::setMeshLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcReinforcingMesh::hasMeshWidth() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshWidth() { return *entity->getArgument(10); } +bool IfcReinforcingMesh::hasMeshWidth() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } void IfcReinforcingMesh::setMeshWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarNominalDiameter() { return *entity->getArgument(11); } +IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarNominalDiameter() { return *entity->getArgument(12); } +IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } void IfcReinforcingMesh::setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -IfcAreaMeasure IfcReinforcingMesh::LongitudinalBarCrossSectionArea() { return *entity->getArgument(13); } +IfcAreaMeasure IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -IfcAreaMeasure IfcReinforcingMesh::TransverseBarCrossSectionArea() { return *entity->getArgument(14); } +IfcAreaMeasure IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } void IfcReinforcingMesh::setTransverseBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarSpacing() { return *entity->getArgument(15); } +IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } void IfcReinforcingMesh::setLongitudinalBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarSpacing() { return *entity->getArgument(16); } +IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } void IfcReinforcingMesh::setTransverseBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMesh::IfcReinforcingMesh(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, IfcPositiveLengthMeasure v12_LongitudinalBarNominalDiameter, IfcPositiveLengthMeasure v13_TransverseBarNominalDiameter, IfcAreaMeasure v14_LongitudinalBarCrossSectionArea, IfcAreaMeasure v15_TransverseBarCrossSectionArea, IfcPositiveLengthMeasure v16_LongitudinalBarSpacing, IfcPositiveLengthMeasure v17_TransverseBarSpacing) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingMesh::IfcReinforcingMesh(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, IfcPositiveLengthMeasure v12_LongitudinalBarNominalDiameter, IfcPositiveLengthMeasure v13_TransverseBarNominalDiameter, IfcAreaMeasure v14_LongitudinalBarCrossSectionArea, IfcAreaMeasure v15_TransverseBarCrossSectionArea, IfcPositiveLengthMeasure v16_LongitudinalBarSpacing, IfcPositiveLengthMeasure v17_TransverseBarSpacing) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } e->setArgument(11,(v12_LongitudinalBarNominalDiameter)); e->setArgument(12,(v13_TransverseBarNominalDiameter)); e->setArgument(13,(v14_LongitudinalBarCrossSectionArea)); e->setArgument(14,(v15_TransverseBarCrossSectionArea)); e->setArgument(15,(v16_LongitudinalBarSpacing)); e->setArgument(16,(v17_TransverseBarSpacing)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAggregates bool IfcRelAggregates::is(Type::Enum v) const { return v == Type::IfcRelAggregates || IfcRelDecomposes::is(v); } Type::Enum IfcRelAggregates::type() const { return Type::IfcRelAggregates; } Type::Enum IfcRelAggregates::Class() { return Type::IfcRelAggregates; } -IfcRelAggregates::IfcRelAggregates(IfcAbstractEntityPtr e) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAggregates::IfcRelAggregates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAggregates::IfcRelAggregates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssigns -SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelAssigns::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,4) } -void IfcRelAssigns::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -bool IfcRelAssigns::hasRelatedObjectsType() { return !entity->getArgument(5)->isNull(); } -IfcObjectTypeEnum::IfcObjectTypeEnum IfcRelAssigns::RelatedObjectsType() { return IfcObjectTypeEnum::FromString(*entity->getArgument(5)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssigns::IfcRelAssigns(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssigns::IfcRelAssigns(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsTasks -bool IfcRelAssignsTasks::hasTimeForTask() { return !entity->getArgument(7)->isNull(); } -IfcScheduleTimeControl* IfcRelAssignsTasks::TimeForTask() { return (IfcScheduleTimeControl*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssignsToControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsTasks)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsTasks::IfcRelAssignsTasks(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsTasks)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsTasks::IfcRelAssignsTasks(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); e->setArgument(7,(v8_TimeForTask)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToActor -IfcActor* IfcRelAssignsToActor::RelatingActor() { return (IfcActor*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcActorRole* IfcRelAssignsToActor::ActingRole() { return (IfcActorRole*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToActor::IfcRelAssignsToActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToActor::IfcRelAssignsToActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToControl -IfcControl* IfcRelAssignsToControl::RelatingControl() { return (IfcControl*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToControl::IfcRelAssignsToControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToControl::IfcRelAssignsToControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroup -IfcGroup* IfcRelAssignsToGroup::RelatingGroup() { return (IfcGroup*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProcess -IfcProcess* IfcRelAssignsToProcess::RelatingProcess() { return (IfcProcess*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcMeasureWithUnit* IfcRelAssignsToProcess::QuantityInProcess() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProduct -IfcProduct* IfcRelAssignsToProduct::RelatingProduct() { return (IfcProduct*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProjectOrder bool IfcRelAssignsToProjectOrder::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProjectOrder || IfcRelAssignsToControl::is(v); } Type::Enum IfcRelAssignsToProjectOrder::type() const { return Type::IfcRelAssignsToProjectOrder; } Type::Enum IfcRelAssignsToProjectOrder::Class() { return Type::IfcRelAssignsToProjectOrder; } -IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcAbstractEntityPtr e) : IfcRelAssignsToControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToResource -IfcResource* IfcRelAssignsToResource::RelatingResource() { return (IfcResource*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToResource::IfcRelAssignsToResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToResource::IfcRelAssignsToResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociates -SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > IfcRelAssociates::RelatedObjects() { RETURN_AS_LIST(IfcRoot,4) } -void IfcRelAssociates::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociates::IfcRelAssociates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelAssociates::IfcRelAssociates(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociates::IfcRelAssociates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesAppliedValue -IfcAppliedValue* IfcRelAssociatesAppliedValue::RelatingAppliedValue() { return (IfcAppliedValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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; } -IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingAppliedValue)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingAppliedValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesApproval -IfcApproval* IfcRelAssociatesApproval::RelatingApproval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesClassification -IfcClassificationNotationSelect IfcRelAssociatesClassification::RelatingClassification() { return *entity->getArgument(5); } +IfcClassificationNotationSelect IfcRelAssociatesClassification::RelatingClassification() const { return *entity->getArgument(5); } void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationNotationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcClassificationNotationSelect v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcClassificationNotationSelect v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesConstraint -IfcLabel IfcRelAssociatesConstraint::Intent() { return *entity->getArgument(5); } +IfcLabel IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } void IfcRelAssociatesConstraint::setIntent(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelAssociatesConstraint::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssociatesConstraint::is(Type::Enum v) const { return v == Type::IfcRelAssociatesConstraint || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesConstraint::type() const { return Type::IfcRelAssociatesConstraint; } Type::Enum IfcRelAssociatesConstraint::Class() { return Type::IfcRelAssociatesConstraint; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcLabel v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_Intent)); e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLabel v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_Intent)); e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesDocument -IfcDocumentSelect IfcRelAssociatesDocument::RelatingDocument() { return *entity->getArgument(5); } +IfcDocumentSelect IfcRelAssociatesDocument::RelatingDocument() const { return *entity->getArgument(5); } void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesLibrary -IfcLibrarySelect IfcRelAssociatesLibrary::RelatingLibrary() { return *entity->getArgument(5); } +IfcLibrarySelect IfcRelAssociatesLibrary::RelatingLibrary() const { return *entity->getArgument(5); } void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesMaterial -IfcMaterialSelect IfcRelAssociatesMaterial::RelatingMaterial() { return *entity->getArgument(5); } +IfcMaterialSelect IfcRelAssociatesMaterial::RelatingMaterial() const { return *entity->getArgument(5); } void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesProfileProperties -IfcProfileProperties* IfcRelAssociatesProfileProperties::RelatingProfileProperties() { return (IfcProfileProperties*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcShapeAspect* IfcRelAssociatesProfileProperties::ProfileSectionLocation() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcOrientationSelect IfcRelAssociatesProfileProperties::ProfileOrientation() { return *entity->getArgument(7); } +bool IfcRelAssociatesProfileProperties::hasProfileOrientation() const { return !entity->getArgument(7)->isNull(); } +IfcOrientationSelect IfcRelAssociatesProfileProperties::ProfileOrientation() const { return *entity->getArgument(7); } void IfcRelAssociatesProfileProperties::setProfileOrientation(IfcOrientationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect > v8_ProfileOrientation) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingProfileProperties)); e->setArgument(6,(v7_ProfileSectionLocation)); if (v8_ProfileOrientation) { e->setArgument(7,(*v8_ProfileOrientation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect > v8_ProfileOrientation) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingProfileProperties)); e->setArgument(6,(v7_ProfileSectionLocation)); if (v8_ProfileOrientation) { e->setArgument(7,(*v8_ProfileOrientation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnects::IfcRelConnects(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnects::IfcRelConnects(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsElements -bool IfcRelConnectsElements::hasConnectionGeometry() { return !entity->getArgument(4)->isNull(); } -IfcConnectionGeometry* IfcRelConnectsElements::ConnectionGeometry() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcElement* IfcRelConnectsElements::RelatingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } -IfcElement* IfcRelConnectsElements::RelatedElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsElements::IfcRelConnectsElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsElements::IfcRelConnectsElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() { return *entity->getArgument(7); } +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); } -std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() { return *entity->getArgument(8); } +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); } -IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } +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)); } -IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement -IfcPort* IfcRelConnectsPortToElement::RelatingPort() { return (IfcPort*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcElement* IfcRelConnectsPortToElement::RelatedElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPorts -IfcPort* IfcRelConnectsPorts::RelatingPort() { return (IfcPort*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcPort* IfcRelConnectsPorts::RelatedPort() { return (IfcPort*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcElement* IfcRelConnectsPorts::RealizingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPorts::IfcRelConnectsPorts(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsPorts::IfcRelConnectsPorts(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralActivity -IfcStructuralActivityAssignmentSelect IfcRelConnectsStructuralActivity::RelatingElement() { return *entity->getArgument(4); } +IfcStructuralActivityAssignmentSelect IfcRelConnectsStructuralActivity::RelatingElement() const { return *entity->getArgument(4); } void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() { return (IfcStructuralActivity*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(IfcStructuralActivity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelConnectsStructuralActivity::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralActivity || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralActivity::type() const { return Type::IfcRelConnectsStructuralActivity; } Type::Enum IfcRelConnectsStructuralActivity::Class() { return Type::IfcRelConnectsStructuralActivity; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralElement -IfcElement* IfcRelConnectsStructuralElement::RelatingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcStructuralMember* IfcRelConnectsStructuralElement::RelatedStructuralMember() { return (IfcStructuralMember*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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; } -IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralMember)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralMember)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralMember -IfcStructuralMember* IfcRelConnectsStructuralMember::RelatingStructuralMember() { return (IfcStructuralMember*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcStructuralConnection* IfcRelConnectsStructuralMember::RelatedStructuralConnection() { return (IfcStructuralConnection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcBoundaryCondition* IfcRelConnectsStructuralMember::AppliedCondition() { return (IfcBoundaryCondition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcStructuralConnectionCondition* IfcRelConnectsStructuralMember::AdditionalConditions() { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLengthMeasure IfcRelConnectsStructuralMember::SupportedLength() { return *entity->getArgument(8); } +bool IfcRelConnectsStructuralMember::hasSupportedLength() const { return !entity->getArgument(8)->isNull(); } +IfcLengthMeasure IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } void IfcRelConnectsStructuralMember::setSupportedLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() { return !entity->getArgument(9)->isNull(); } -IfcAxis2Placement3D* IfcRelConnectsStructuralMember::ConditionCoordinateSystem() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithEccentricity -IfcConnectionGeometry* IfcRelConnectsWithEccentricity::ConnectionConstraint() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnectsStructuralMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithRealizingElements -SHARED_PTR< IfcTemplatedEntityList< IfcElement > > IfcRelConnectsWithRealizingElements::RealizingElements() { RETURN_AS_LIST(IfcElement,7) } -void IfcRelConnectsWithRealizingElements::setRealizingElements(SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcRelConnectsWithRealizingElements::hasConnectionType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() { return *entity->getArgument(8); } +IfcTemplatedEntityList< IfcElement >::ptr IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +bool IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } void IfcRelConnectsWithRealizingElements::setConnectionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelContainedInSpatialStructure -SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > IfcRelContainedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } -void IfcRelContainedInSpatialStructure::setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcSpatialStructureElement* IfcRelContainedInSpatialStructure::RelatingStructure() { return (IfcSpatialStructureElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversBldgElements -IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > IfcRelCoversBldgElements::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } -void IfcRelCoversBldgElements::setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRelCoversBldgElements || IfcRelConnects::is(v); } Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversSpaces -IfcSpace* IfcRelCoversSpaces::RelatedSpace() { return (IfcSpace*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > IfcRelCoversSpaces::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } -void IfcRelCoversSpaces::setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCoversSpaces || IfcRelConnects::is(v); } Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } -IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversSpaces::IfcRelCoversSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatedSpace, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelCoversSpaces::IfcRelCoversSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatedSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDecomposes -IfcObjectDefinition* IfcRelDecomposes::RelatingObject() { return (IfcObjectDefinition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelDecomposes::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,5) } -void IfcRelDecomposes::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } bool IfcRelDecomposes::is(Type::Enum v) const { return v == Type::IfcRelDecomposes || IfcRelationship::is(v); } Type::Enum IfcRelDecomposes::type() const { return Type::IfcRelDecomposes; } Type::Enum IfcRelDecomposes::Class() { return Type::IfcRelDecomposes; } -IfcRelDecomposes::IfcRelDecomposes(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDecomposes::IfcRelDecomposes(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelDecomposes::IfcRelDecomposes(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDecomposes::IfcRelDecomposes(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefines -SHARED_PTR< IfcTemplatedEntityList< IfcObject > > IfcRelDefines::RelatedObjects() { RETURN_AS_LIST(IfcObject,4) } -void IfcRelDefines::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefines::IfcRelDefines(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelDefines::IfcRelDefines(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefines::IfcRelDefines(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByProperties -IfcPropertySetDefinition* IfcRelDefinesByProperties::RelatingPropertyDefinition() { return (IfcPropertySetDefinition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDefines((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByType -IfcTypeObject* IfcRelDefinesByType::RelatingType() { return (IfcTypeObject*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDefines((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByType::IfcRelDefinesByType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefinesByType::IfcRelDefinesByType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFillsElement -IfcOpeningElement* IfcRelFillsElement::RelatingOpeningElement() { return (IfcOpeningElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcElement* IfcRelFillsElement::RelatedBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFillsElement::IfcRelFillsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelFillsElement::IfcRelFillsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFlowControlElements -SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > IfcRelFlowControlElements::RelatedControlElements() { RETURN_AS_LIST(IfcDistributionControlElement,4) } -void IfcRelFlowControlElements::setRelatedControlElements(SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcDistributionFlowElement* IfcRelFlowControlElements::RelatingFlowElement() { return (IfcDistributionFlowElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFlowControlElements::IfcRelFlowControlElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelFlowControlElements::IfcRelFlowControlElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelInteractionRequirements -bool IfcRelInteractionRequirements::hasDailyInteraction() { return !entity->getArgument(4)->isNull(); } -IfcCountMeasure IfcRelInteractionRequirements::DailyInteraction() { return *entity->getArgument(4); } +bool IfcRelInteractionRequirements::hasDailyInteraction() const { return !entity->getArgument(4)->isNull(); } +IfcCountMeasure IfcRelInteractionRequirements::DailyInteraction() const { return *entity->getArgument(4); } void IfcRelInteractionRequirements::setDailyInteraction(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRelInteractionRequirements::hasImportanceRating() { return !entity->getArgument(5)->isNull(); } -IfcNormalisedRatioMeasure IfcRelInteractionRequirements::ImportanceRating() { return *entity->getArgument(5); } +bool IfcRelInteractionRequirements::hasImportanceRating() const { return !entity->getArgument(5)->isNull(); } +IfcNormalisedRatioMeasure IfcRelInteractionRequirements::ImportanceRating() const { return *entity->getArgument(5); } void IfcRelInteractionRequirements::setImportanceRating(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRelInteractionRequirements::hasLocationOfInteraction() { return !entity->getArgument(6)->isNull(); } -IfcSpatialStructureElement* IfcRelInteractionRequirements::LocationOfInteraction() { return (IfcSpatialStructureElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -IfcSpaceProgram* IfcRelInteractionRequirements::RelatedSpaceProgram() { return (IfcSpaceProgram*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } -IfcSpaceProgram* IfcRelInteractionRequirements::RelatingSpaceProgram() { return (IfcSpaceProgram*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelInteractionRequirements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelInteractionRequirements::IfcRelInteractionRequirements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcCountMeasure > v5_DailyInteraction, boost::optional< IfcNormalisedRatioMeasure > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelInteractionRequirements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelInteractionRequirements::IfcRelInteractionRequirements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcCountMeasure > v5_DailyInteraction, boost::optional< IfcNormalisedRatioMeasure > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DailyInteraction) { e->setArgument(4,(*v5_DailyInteraction)); } else { e->setArgument(4); } if (v6_ImportanceRating) { e->setArgument(5,(*v6_ImportanceRating)); } else { e->setArgument(5); } e->setArgument(6,(v7_LocationOfInteraction)); e->setArgument(7,(v8_RelatedSpaceProgram)); e->setArgument(8,(v9_RelatingSpaceProgram)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelNests bool IfcRelNests::is(Type::Enum v) const { return v == Type::IfcRelNests || IfcRelDecomposes::is(v); } Type::Enum IfcRelNests::type() const { return Type::IfcRelNests; } Type::Enum IfcRelNests::Class() { return Type::IfcRelNests; } -IfcRelNests::IfcRelNests(IfcAbstractEntityPtr e) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelNests::IfcRelNests(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelNests::IfcRelNests(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelOccupiesSpaces bool IfcRelOccupiesSpaces::is(Type::Enum v) const { return v == Type::IfcRelOccupiesSpaces || IfcRelAssignsToActor::is(v); } Type::Enum IfcRelOccupiesSpaces::type() const { return Type::IfcRelOccupiesSpaces; } Type::Enum IfcRelOccupiesSpaces::Class() { return Type::IfcRelOccupiesSpaces; } -IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcAbstractEntityPtr e) : IfcRelAssignsToActor((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelOccupiesSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelOccupiesSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelOverridesProperties -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcRelOverridesProperties::OverridingProperties() { RETURN_AS_LIST(IfcProperty,6) } -void IfcRelOverridesProperties::setOverridingProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +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()); } 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; } -IfcRelOverridesProperties::IfcRelOverridesProperties(IfcAbstractEntityPtr e) : IfcRelDefinesByProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelOverridesProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelOverridesProperties::IfcRelOverridesProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v7_OverridingProperties) : IfcRelDefinesByProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); e->setArgument(6,(v7_OverridingProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelOverridesProperties::IfcRelOverridesProperties(IfcAbstractEntity* e) : IfcRelDefinesByProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelOverridesProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelOverridesProperties::IfcRelOverridesProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, IfcTemplatedEntityList< IfcProperty >::ptr v7_OverridingProperties) : IfcRelDefinesByProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); e->setArgument(6,(v7_OverridingProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelProjectsElement -IfcElement* IfcRelProjectsElement::RelatingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcFeatureElementAddition* IfcRelProjectsElement::RelatedFeatureElement() { return (IfcFeatureElementAddition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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; } -IfcRelProjectsElement::IfcRelProjectsElement(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelProjectsElement::IfcRelProjectsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelProjectsElement::IfcRelProjectsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelReferencedInSpatialStructure -SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > IfcRelReferencedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } -void IfcRelReferencedInSpatialStructure::setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcSpatialStructureElement* IfcRelReferencedInSpatialStructure::RelatingStructure() { return (IfcSpatialStructureElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSchedulesCostItems bool IfcRelSchedulesCostItems::is(Type::Enum v) const { return v == Type::IfcRelSchedulesCostItems || IfcRelAssignsToControl::is(v); } Type::Enum IfcRelSchedulesCostItems::type() const { return Type::IfcRelSchedulesCostItems; } Type::Enum IfcRelSchedulesCostItems::Class() { return Type::IfcRelSchedulesCostItems; } -IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcAbstractEntityPtr e) : IfcRelAssignsToControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSchedulesCostItems)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSchedulesCostItems)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSequence -IfcProcess* IfcRelSequence::RelatingProcess() { return (IfcProcess*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +IfcProcess* IfcRelSequence::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcRelSequence::setRelatingProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcProcess* IfcRelSequence::RelatedProcess() { return (IfcProcess*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +IfcProcess* IfcRelSequence::RelatedProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelSequence::setRelatedProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcTimeMeasure IfcRelSequence::TimeLag() { return *entity->getArgument(6); } +IfcTimeMeasure IfcRelSequence::TimeLag() const { return *entity->getArgument(6); } void IfcRelSequence::setTimeLag(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } +IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() const { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } void IfcRelSequence::setSequenceType(IfcSequenceEnum::IfcSequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcSequenceEnum::ToString(v)); } bool IfcRelSequence::is(Type::Enum v) const { return v == Type::IfcRelSequence || IfcRelConnects::is(v); } Type::Enum IfcRelSequence::type() const { return Type::IfcRelSequence; } Type::Enum IfcRelSequence::Class() { return Type::IfcRelSequence; } -IfcRelSequence::IfcRelSequence(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSequence::IfcRelSequence(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcTimeMeasure v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); e->setArgument(7,v8_SequenceType,IfcSequenceEnum::ToString(v8_SequenceType)); entity = e; EntityBuffer::Add(this); } +IfcRelSequence::IfcRelSequence(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSequence::IfcRelSequence(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcTimeMeasure v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); e->setArgument(7,v8_SequenceType,IfcSequenceEnum::ToString(v8_SequenceType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelServicesBuildings -IfcSystem* IfcRelServicesBuildings::RelatingSystem() { return (IfcSystem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > IfcRelServicesBuildings::RelatedBuildings() { RETURN_AS_LIST(IfcSpatialStructureElement,5) } -void IfcRelServicesBuildings::setRelatedBuildings(SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelServicesBuildings::IfcRelServicesBuildings(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelServicesBuildings::IfcRelServicesBuildings(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary -IfcSpace* IfcRelSpaceBoundary::RelatingSpace() { return (IfcSpace*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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() { return !entity->getArgument(5)->isNull(); } -IfcElement* IfcRelSpaceBoundary::RelatedBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcConnectionGeometry* IfcRelSpaceBoundary::ConnectionGeometry() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() { return IfcPhysicalOrVirtualEnum::FromString(*entity->getArgument(7)); } +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)); } -IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcRelSpaceBoundary::InternalOrExternalBoundary() { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelVoidsElement -IfcElement* IfcRelVoidsElement::RelatingBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcFeatureElementSubtraction* IfcRelVoidsElement::RelatedOpeningElement() { return (IfcFeatureElementSubtraction*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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; } -IfcRelVoidsElement::IfcRelVoidsElement(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelVoidsElement::IfcRelVoidsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelVoidsElement::IfcRelVoidsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcRoot((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelationship::IfcRelationship(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelationship::IfcRelationship(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelaxation -IfcNormalisedRatioMeasure IfcRelaxation::RelaxationValue() { return *entity->getArgument(0); } +IfcNormalisedRatioMeasure IfcRelaxation::RelaxationValue() const { return *entity->getArgument(0); } void IfcRelaxation::setRelaxationValue(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcNormalisedRatioMeasure IfcRelaxation::InitialStress() { return *entity->getArgument(1); } +IfcNormalisedRatioMeasure IfcRelaxation::InitialStress() const { return *entity->getArgument(1); } void IfcRelaxation::setInitialStress(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRelaxation::is(Type::Enum v) const { return v == Type::IfcRelaxation; } Type::Enum IfcRelaxation::type() const { return Type::IfcRelaxation; } Type::Enum IfcRelaxation::Class() { return Type::IfcRelaxation; } -IfcRelaxation::IfcRelaxation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRelaxation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelaxation::IfcRelaxation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRelaxation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRelaxation::IfcRelaxation(IfcNormalisedRatioMeasure v1_RelaxationValue, IfcNormalisedRatioMeasure v2_InitialStress) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelaxationValue)); e->setArgument(1,(v2_InitialStress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentation -IfcRepresentationContext* IfcRepresentation::ContextOfItems() { return (IfcRepresentationContext*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentation::RepresentationIdentifier() { return *entity->getArgument(1); } +bool IfcRepresentation::hasRepresentationIdentifier() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } void IfcRepresentation::setRepresentationIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRepresentation::hasRepresentationType() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRepresentation::RepresentationType() { return *entity->getArgument(2); } +bool IfcRepresentation::hasRepresentationType() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } void IfcRepresentation::setRepresentationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > IfcRepresentation::Items() { RETURN_AS_LIST(IfcRepresentationItem,3) } -void IfcRepresentation::setItems(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -IfcRepresentationMap::list IfcRepresentation::RepresentationMap() { RETURN_INVERSE(IfcRepresentationMap) } -IfcPresentationLayerAssignment::list IfcRepresentation::LayerAssignments() { RETURN_INVERSE(IfcPresentationLayerAssignment) } -IfcProductRepresentation::list IfcRepresentation::OfProductRepresentation() { RETURN_INVERSE(IfcProductRepresentation) } +IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return entity->getInverse(Type::IfcRepresentationMap)->as(); } +IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return entity->getInverse(Type::IfcPresentationLayerAssignment)->as(); } +IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return entity->getInverse(Type::IfcProductRepresentation)->as(); } bool IfcRepresentation::is(Type::Enum v) const { return v == Type::IfcRepresentation; } Type::Enum IfcRepresentation::type() const { return Type::IfcRepresentation; } Type::Enum IfcRepresentation::Class() { return Type::IfcRepresentation; } -IfcRepresentation::IfcRepresentation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRepresentation::IfcRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationContext -bool IfcRepresentationContext::hasContextIdentifier() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcRepresentationContext::ContextIdentifier() { return *entity->getArgument(0); } +bool IfcRepresentationContext::hasContextIdentifier() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } void IfcRepresentationContext::setContextIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRepresentationContext::hasContextType() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentationContext::ContextType() { return *entity->getArgument(1); } +bool IfcRepresentationContext::hasContextType() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } void IfcRepresentationContext::setContextType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcRepresentation::list IfcRepresentationContext::RepresentationsInContext() { RETURN_INVERSE(IfcRepresentation) } +IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return entity->getInverse(Type::IfcRepresentation)->as(); } bool IfcRepresentationContext::is(Type::Enum v) const { return v == Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::type() const { return Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::Class() { return Type::IfcRepresentationContext; } -IfcRepresentationContext::IfcRepresentationContext(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentationContext::IfcRepresentationContext(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRepresentationContext::IfcRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationItem -IfcPresentationLayerAssignment::list IfcRepresentationItem::LayerAssignments() { RETURN_INVERSE(IfcPresentationLayerAssignment) } -IfcStyledItem::list IfcRepresentationItem::StyledByItem() { RETURN_INVERSE(IfcStyledItem) } +IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignments() const { return entity->getInverse(Type::IfcPresentationLayerAssignment)->as(); } +IfcStyledItem::list::ptr IfcRepresentationItem::StyledByItem() const { return entity->getInverse(Type::IfcStyledItem)->as(); } bool IfcRepresentationItem::is(Type::Enum v) const { return v == Type::IfcRepresentationItem; } Type::Enum IfcRepresentationItem::type() const { return Type::IfcRepresentationItem; } Type::Enum IfcRepresentationItem::Class() { return Type::IfcRepresentationItem; } -IfcRepresentationItem::IfcRepresentationItem(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentationItem::IfcRepresentationItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationMap -IfcAxis2Placement IfcRepresentationMap::MappingOrigin() { return *entity->getArgument(0); } +IfcAxis2Placement IfcRepresentationMap::MappingOrigin() const { return *entity->getArgument(0); } void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcRepresentation* IfcRepresentationMap::MappedRepresentation() { return (IfcRepresentation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcMappedItem::list IfcRepresentationMap::MapUsage() { RETURN_INVERSE(IfcMappedItem) } +IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return entity->getInverse(Type::IfcMappedItem)->as(); } bool IfcRepresentationMap::is(Type::Enum v) const { return v == Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::type() const { return Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::Class() { return Type::IfcRepresentationMap; } -IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResource -IfcRelAssignsToResource::list IfcResource::ResourceOf() { RETURN_INVERSE(IfcRelAssignsToResource) } +IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource)->as(); } bool IfcResource::is(Type::Enum v) const { return v == Type::IfcResource || IfcObject::is(v); } Type::Enum IfcResource::type() const { return Type::IfcResource; } Type::Enum IfcResource::Class() { return Type::IfcResource; } -IfcResource::IfcResource(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResource::IfcResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcResource::IfcResource(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcResource::IfcResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolid -IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() { return (IfcAxis1Placement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcRevolvedAreaSolid::setAxis(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPlaneAngleMeasure IfcRevolvedAreaSolid::Angle() { return *entity->getArgument(3); } +IfcPlaneAngleMeasure IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } void IfcRevolvedAreaSolid::setAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRibPlateProfileProperties -bool IfcRibPlateProfileProperties::hasThickness() { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::Thickness() { return *entity->getArgument(2); } +bool IfcRibPlateProfileProperties::hasThickness() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveLengthMeasure IfcRibPlateProfileProperties::Thickness() const { return *entity->getArgument(2); } void IfcRibPlateProfileProperties::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRibPlateProfileProperties::hasRibHeight() { return !entity->getArgument(3)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibHeight() { return *entity->getArgument(3); } +bool IfcRibPlateProfileProperties::hasRibHeight() const { return !entity->getArgument(3)->isNull(); } +IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibHeight() const { return *entity->getArgument(3); } void IfcRibPlateProfileProperties::setRibHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcRibPlateProfileProperties::hasRibWidth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibWidth() { return *entity->getArgument(4); } +bool IfcRibPlateProfileProperties::hasRibWidth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibWidth() const { return *entity->getArgument(4); } void IfcRibPlateProfileProperties::setRibWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRibPlateProfileProperties::hasRibSpacing() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibSpacing() { return *entity->getArgument(5); } +bool IfcRibPlateProfileProperties::hasRibSpacing() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibSpacing() const { return *entity->getArgument(5); } void IfcRibPlateProfileProperties::setRibSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum IfcRibPlateProfileProperties::Direction() { return IfcRibPlateDirectionEnum::FromString(*entity->getArgument(6)); } +IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum IfcRibPlateProfileProperties::Direction() const { return IfcRibPlateDirectionEnum::FromString(*entity->getArgument(6)); } void IfcRibPlateProfileProperties::setDirection(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcRibPlateDirectionEnum::ToString(v)); } bool IfcRibPlateProfileProperties::is(Type::Enum v) const { return v == Type::IfcRibPlateProfileProperties || IfcProfileProperties::is(v); } Type::Enum IfcRibPlateProfileProperties::type() const { return Type::IfcRibPlateProfileProperties; } Type::Enum IfcRibPlateProfileProperties::Class() { return Type::IfcRibPlateProfileProperties; } -IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(IfcAbstractEntityPtr e) : IfcProfileProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRibPlateProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcPositiveLengthMeasure > v3_Thickness, boost::optional< IfcPositiveLengthMeasure > v4_RibHeight, boost::optional< IfcPositiveLengthMeasure > v5_RibWidth, boost::optional< IfcPositiveLengthMeasure > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction) : IfcProfileProperties((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRibPlateProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcPositiveLengthMeasure > v3_Thickness, boost::optional< IfcPositiveLengthMeasure > v4_RibHeight, boost::optional< IfcPositiveLengthMeasure > v5_RibWidth, boost::optional< IfcPositiveLengthMeasure > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_Thickness) { e->setArgument(2,(*v3_Thickness)); } else { e->setArgument(2); } if (v4_RibHeight) { e->setArgument(3,(*v4_RibHeight)); } else { e->setArgument(3); } if (v5_RibWidth) { e->setArgument(4,(*v5_RibWidth)); } else { e->setArgument(4); } if (v6_RibSpacing) { e->setArgument(5,(*v6_RibSpacing)); } else { e->setArgument(5); } e->setArgument(6,v7_Direction,IfcRibPlateDirectionEnum::ToString(v7_Direction)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCone -IfcPositiveLengthMeasure IfcRightCircularCone::Height() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcRightCircularCone::Height() const { return *entity->getArgument(1); } void IfcRightCircularCone::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCone::BottomRadius() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } void IfcRightCircularCone::setBottomRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCone::is(Type::Enum v) const { return v == Type::IfcRightCircularCone || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCone::type() const { return Type::IfcRightCircularCone; } Type::Enum IfcRightCircularCone::Class() { return Type::IfcRightCircularCone; } -IfcRightCircularCone::IfcRightCircularCone(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCone::IfcRightCircularCone(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCylinder -IfcPositiveLengthMeasure IfcRightCircularCylinder::Height() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } void IfcRightCircularCylinder::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCylinder::Radius() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } void IfcRightCircularCylinder::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCylinder::is(Type::Enum v) const { return v == Type::IfcRightCircularCylinder || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCylinder::type() const { return Type::IfcRightCircularCylinder; } Type::Enum IfcRightCircularCylinder::Class() { return Type::IfcRightCircularCylinder; } -IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCylinder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCylinder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoof -IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoof::ShapeType() { return IfcRoofTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoof::IfcRoof(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoof::IfcRoof(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRoofTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoot -IfcGloballyUniqueId IfcRoot::GlobalId() { return *entity->getArgument(0); } +IfcGloballyUniqueId IfcRoot::GlobalId() const { return *entity->getArgument(0); } void IfcRoot::setGlobalId(IfcGloballyUniqueId v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcOwnerHistory* IfcRoot::OwnerHistory() { return (IfcOwnerHistory*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRoot::Name() { return *entity->getArgument(2); } +bool IfcRoot::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcRoot::Name() const { return *entity->getArgument(2); } void IfcRoot::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRoot::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcRoot::Description() { return *entity->getArgument(3); } +bool IfcRoot::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcRoot::Description() const { return *entity->getArgument(3); } void IfcRoot::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoot::IfcRoot(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRoot::IfcRoot(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedEdgeFeature -bool IfcRoundedEdgeFeature::hasRadius() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcRoundedEdgeFeature::Radius() { return *entity->getArgument(9); } +bool IfcRoundedEdgeFeature::hasRadius() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcRoundedEdgeFeature::Radius() const { return *entity->getArgument(9); } void IfcRoundedEdgeFeature::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcEdgeFeature((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRoundedEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Radius) : IfcEdgeFeature((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcEdgeFeature((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Radius) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Radius) { e->setArgument(9,(*v10_Radius)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedRectangleProfileDef -IfcPositiveLengthMeasure IfcRoundedRectangleProfileDef::RoundingRadius() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } void IfcRoundedRectangleProfileDef::setRoundingRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRectangleProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSIUnit -bool IfcSIUnit::hasPrefix() { return !entity->getArgument(2)->isNull(); } -IfcSIPrefix::IfcSIPrefix IfcSIUnit::Prefix() { return IfcSIPrefix::FromString(*entity->getArgument(2)); } +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)); } -IfcSIUnitName::IfcSIUnitName IfcSIUnit::Name() { return IfcSIUnitName::FromString(*entity->getArgument(3)); } +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)); } 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; } -IfcSIUnit::IfcSIUnit(IfcAbstractEntityPtr e) : IfcNamedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSIUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSIUnit::IfcSIUnit(IfcUnitEnum::IfcUnitEnum v2_UnitType, boost::optional< IfcSIPrefix::IfcSIPrefix > v3_Prefix, IfcSIUnitName::IfcSIUnitName v4_Name) : IfcNamedUnit((IfcAbstractEntityPtr)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); } +IfcSIUnit::IfcSIUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSIUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcSanitaryTerminalType -IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminalType::PredefinedType() { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcScheduleTimeControl -bool IfcScheduleTimeControl::hasActualStart() { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ActualStart() { return *entity->getArgument(5); } +bool IfcScheduleTimeControl::hasActualStart() const { return !entity->getArgument(5)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::ActualStart() const { return *entity->getArgument(5); } void IfcScheduleTimeControl::setActualStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcScheduleTimeControl::hasEarlyStart() { return !entity->getArgument(6)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::EarlyStart() { return *entity->getArgument(6); } +bool IfcScheduleTimeControl::hasEarlyStart() const { return !entity->getArgument(6)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::EarlyStart() const { return *entity->getArgument(6); } void IfcScheduleTimeControl::setEarlyStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcScheduleTimeControl::hasLateStart() { return !entity->getArgument(7)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::LateStart() { return *entity->getArgument(7); } +bool IfcScheduleTimeControl::hasLateStart() const { return !entity->getArgument(7)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::LateStart() const { return *entity->getArgument(7); } void IfcScheduleTimeControl::setLateStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcScheduleTimeControl::hasScheduleStart() { return !entity->getArgument(8)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ScheduleStart() { return *entity->getArgument(8); } +bool IfcScheduleTimeControl::hasScheduleStart() const { return !entity->getArgument(8)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::ScheduleStart() const { return *entity->getArgument(8); } void IfcScheduleTimeControl::setScheduleStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcScheduleTimeControl::hasActualFinish() { return !entity->getArgument(9)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ActualFinish() { return *entity->getArgument(9); } +bool IfcScheduleTimeControl::hasActualFinish() const { return !entity->getArgument(9)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::ActualFinish() const { return *entity->getArgument(9); } void IfcScheduleTimeControl::setActualFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcScheduleTimeControl::hasEarlyFinish() { return !entity->getArgument(10)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::EarlyFinish() { return *entity->getArgument(10); } +bool IfcScheduleTimeControl::hasEarlyFinish() const { return !entity->getArgument(10)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::EarlyFinish() const { return *entity->getArgument(10); } void IfcScheduleTimeControl::setEarlyFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcScheduleTimeControl::hasLateFinish() { return !entity->getArgument(11)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::LateFinish() { return *entity->getArgument(11); } +bool IfcScheduleTimeControl::hasLateFinish() const { return !entity->getArgument(11)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::LateFinish() const { return *entity->getArgument(11); } void IfcScheduleTimeControl::setLateFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcScheduleTimeControl::hasScheduleFinish() { return !entity->getArgument(12)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ScheduleFinish() { return *entity->getArgument(12); } +bool IfcScheduleTimeControl::hasScheduleFinish() const { return !entity->getArgument(12)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::ScheduleFinish() const { return *entity->getArgument(12); } void IfcScheduleTimeControl::setScheduleFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcScheduleTimeControl::hasScheduleDuration() { return !entity->getArgument(13)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::ScheduleDuration() { return *entity->getArgument(13); } +bool IfcScheduleTimeControl::hasScheduleDuration() const { return !entity->getArgument(13)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::ScheduleDuration() const { return *entity->getArgument(13); } void IfcScheduleTimeControl::setScheduleDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcScheduleTimeControl::hasActualDuration() { return !entity->getArgument(14)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::ActualDuration() { return *entity->getArgument(14); } +bool IfcScheduleTimeControl::hasActualDuration() const { return !entity->getArgument(14)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::ActualDuration() const { return *entity->getArgument(14); } void IfcScheduleTimeControl::setActualDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcScheduleTimeControl::hasRemainingTime() { return !entity->getArgument(15)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::RemainingTime() { return *entity->getArgument(15); } +bool IfcScheduleTimeControl::hasRemainingTime() const { return !entity->getArgument(15)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::RemainingTime() const { return *entity->getArgument(15); } void IfcScheduleTimeControl::setRemainingTime(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcScheduleTimeControl::hasFreeFloat() { return !entity->getArgument(16)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::FreeFloat() { return *entity->getArgument(16); } +bool IfcScheduleTimeControl::hasFreeFloat() const { return !entity->getArgument(16)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::FreeFloat() const { return *entity->getArgument(16); } void IfcScheduleTimeControl::setFreeFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcScheduleTimeControl::hasTotalFloat() { return !entity->getArgument(17)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::TotalFloat() { return *entity->getArgument(17); } +bool IfcScheduleTimeControl::hasTotalFloat() const { return !entity->getArgument(17)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::TotalFloat() const { return *entity->getArgument(17); } void IfcScheduleTimeControl::setTotalFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcScheduleTimeControl::hasIsCritical() { return !entity->getArgument(18)->isNull(); } -bool IfcScheduleTimeControl::IsCritical() { return *entity->getArgument(18); } +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() { return !entity->getArgument(19)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::StatusTime() { return *entity->getArgument(19); } +bool IfcScheduleTimeControl::hasStatusTime() const { return !entity->getArgument(19)->isNull(); } +IfcDateTimeSelect IfcScheduleTimeControl::StatusTime() const { return *entity->getArgument(19); } void IfcScheduleTimeControl::setStatusTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } -bool IfcScheduleTimeControl::hasStartFloat() { return !entity->getArgument(20)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::StartFloat() { return *entity->getArgument(20); } +bool IfcScheduleTimeControl::hasStartFloat() const { return !entity->getArgument(20)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::StartFloat() const { return *entity->getArgument(20); } void IfcScheduleTimeControl::setStartFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } -bool IfcScheduleTimeControl::hasFinishFloat() { return !entity->getArgument(21)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::FinishFloat() { return *entity->getArgument(21); } +bool IfcScheduleTimeControl::hasFinishFloat() const { return !entity->getArgument(21)->isNull(); } +IfcTimeMeasure IfcScheduleTimeControl::FinishFloat() const { return *entity->getArgument(21); } void IfcScheduleTimeControl::setFinishFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } -bool IfcScheduleTimeControl::hasCompletion() { return !entity->getArgument(22)->isNull(); } -IfcPositiveRatioMeasure IfcScheduleTimeControl::Completion() { return *entity->getArgument(22); } +bool IfcScheduleTimeControl::hasCompletion() const { return !entity->getArgument(22)->isNull(); } +IfcPositiveRatioMeasure IfcScheduleTimeControl::Completion() const { return *entity->getArgument(22); } void IfcScheduleTimeControl::setCompletion(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } -IfcRelAssignsTasks::list IfcScheduleTimeControl::ScheduleTimeControlAssigned() { RETURN_INVERSE(IfcRelAssignsTasks) } +IfcRelAssignsTasks::list::ptr IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return entity->getInverse(Type::IfcRelAssignsTasks)->as(); } bool IfcScheduleTimeControl::is(Type::Enum v) const { return v == Type::IfcScheduleTimeControl || IfcControl::is(v); } Type::Enum IfcScheduleTimeControl::type() const { return Type::IfcScheduleTimeControl; } Type::Enum IfcScheduleTimeControl::Class() { return Type::IfcScheduleTimeControl; } -IfcScheduleTimeControl::IfcScheduleTimeControl(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcScheduleTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcScheduleTimeControl::IfcScheduleTimeControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcDateTimeSelect > v6_ActualStart, boost::optional< IfcDateTimeSelect > v7_EarlyStart, boost::optional< IfcDateTimeSelect > v8_LateStart, boost::optional< IfcDateTimeSelect > v9_ScheduleStart, boost::optional< IfcDateTimeSelect > v10_ActualFinish, boost::optional< IfcDateTimeSelect > v11_EarlyFinish, boost::optional< IfcDateTimeSelect > v12_LateFinish, boost::optional< IfcDateTimeSelect > v13_ScheduleFinish, boost::optional< IfcTimeMeasure > v14_ScheduleDuration, boost::optional< IfcTimeMeasure > v15_ActualDuration, boost::optional< IfcTimeMeasure > v16_RemainingTime, boost::optional< IfcTimeMeasure > v17_FreeFloat, boost::optional< IfcTimeMeasure > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect > v20_StatusTime, boost::optional< IfcTimeMeasure > v21_StartFloat, boost::optional< IfcTimeMeasure > v22_FinishFloat, boost::optional< IfcPositiveRatioMeasure > v23_Completion) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ActualStart) { e->setArgument(5,(*v6_ActualStart)); } else { e->setArgument(5); } if (v7_EarlyStart) { e->setArgument(6,(*v7_EarlyStart)); } else { e->setArgument(6); } if (v8_LateStart) { e->setArgument(7,(*v8_LateStart)); } else { e->setArgument(7); } if (v9_ScheduleStart) { e->setArgument(8,(*v9_ScheduleStart)); } else { e->setArgument(8); } if (v10_ActualFinish) { e->setArgument(9,(*v10_ActualFinish)); } else { e->setArgument(9); } if (v11_EarlyFinish) { e->setArgument(10,(*v11_EarlyFinish)); } else { e->setArgument(10); } if (v12_LateFinish) { e->setArgument(11,(*v12_LateFinish)); } else { e->setArgument(11); } if (v13_ScheduleFinish) { e->setArgument(12,(*v13_ScheduleFinish)); } else { e->setArgument(12); } if (v14_ScheduleDuration) { e->setArgument(13,(*v14_ScheduleDuration)); } else { e->setArgument(13); } if (v15_ActualDuration) { e->setArgument(14,(*v15_ActualDuration)); } else { e->setArgument(14); } if (v16_RemainingTime) { e->setArgument(15,(*v16_RemainingTime)); } else { e->setArgument(15); } if (v17_FreeFloat) { e->setArgument(16,(*v17_FreeFloat)); } else { e->setArgument(16); } if (v18_TotalFloat) { e->setArgument(17,(*v18_TotalFloat)); } else { e->setArgument(17); } if (v19_IsCritical) { e->setArgument(18,(*v19_IsCritical)); } else { e->setArgument(18); } if (v20_StatusTime) { e->setArgument(19,(*v20_StatusTime)); } else { e->setArgument(19); } if (v21_StartFloat) { e->setArgument(20,(*v21_StartFloat)); } else { e->setArgument(20); } if (v22_FinishFloat) { e->setArgument(21,(*v22_FinishFloat)); } else { e->setArgument(21); } if (v23_Completion) { e->setArgument(22,(*v23_Completion)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } +IfcScheduleTimeControl::IfcScheduleTimeControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcScheduleTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcScheduleTimeControl::IfcScheduleTimeControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcDateTimeSelect > v6_ActualStart, boost::optional< IfcDateTimeSelect > v7_EarlyStart, boost::optional< IfcDateTimeSelect > v8_LateStart, boost::optional< IfcDateTimeSelect > v9_ScheduleStart, boost::optional< IfcDateTimeSelect > v10_ActualFinish, boost::optional< IfcDateTimeSelect > v11_EarlyFinish, boost::optional< IfcDateTimeSelect > v12_LateFinish, boost::optional< IfcDateTimeSelect > v13_ScheduleFinish, boost::optional< IfcTimeMeasure > v14_ScheduleDuration, boost::optional< IfcTimeMeasure > v15_ActualDuration, boost::optional< IfcTimeMeasure > v16_RemainingTime, boost::optional< IfcTimeMeasure > v17_FreeFloat, boost::optional< IfcTimeMeasure > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect > v20_StatusTime, boost::optional< IfcTimeMeasure > v21_StartFloat, boost::optional< IfcTimeMeasure > v22_FinishFloat, boost::optional< IfcPositiveRatioMeasure > v23_Completion) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ActualStart) { e->setArgument(5,(*v6_ActualStart)); } else { e->setArgument(5); } if (v7_EarlyStart) { e->setArgument(6,(*v7_EarlyStart)); } else { e->setArgument(6); } if (v8_LateStart) { e->setArgument(7,(*v8_LateStart)); } else { e->setArgument(7); } if (v9_ScheduleStart) { e->setArgument(8,(*v9_ScheduleStart)); } else { e->setArgument(8); } if (v10_ActualFinish) { e->setArgument(9,(*v10_ActualFinish)); } else { e->setArgument(9); } if (v11_EarlyFinish) { e->setArgument(10,(*v11_EarlyFinish)); } else { e->setArgument(10); } if (v12_LateFinish) { e->setArgument(11,(*v12_LateFinish)); } else { e->setArgument(11); } if (v13_ScheduleFinish) { e->setArgument(12,(*v13_ScheduleFinish)); } else { e->setArgument(12); } if (v14_ScheduleDuration) { e->setArgument(13,(*v14_ScheduleDuration)); } else { e->setArgument(13); } if (v15_ActualDuration) { e->setArgument(14,(*v15_ActualDuration)); } else { e->setArgument(14); } if (v16_RemainingTime) { e->setArgument(15,(*v16_RemainingTime)); } else { e->setArgument(15); } if (v17_FreeFloat) { e->setArgument(16,(*v17_FreeFloat)); } else { e->setArgument(16); } if (v18_TotalFloat) { e->setArgument(17,(*v18_TotalFloat)); } else { e->setArgument(17); } if (v19_IsCritical) { e->setArgument(18,(*v19_IsCritical)); } else { e->setArgument(18); } if (v20_StatusTime) { e->setArgument(19,(*v20_StatusTime)); } else { e->setArgument(19); } if (v21_StartFloat) { e->setArgument(20,(*v21_StartFloat)); } else { e->setArgument(20); } if (v22_FinishFloat) { e->setArgument(21,(*v22_FinishFloat)); } else { e->setArgument(21); } if (v23_Completion) { e->setArgument(22,(*v23_Completion)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionProperties -IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() { return IfcSectionTypeEnum::FromString(*entity->getArgument(0)); } +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)); } -IfcProfileDef* IfcSectionProperties::StartProfile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcProfileDef* IfcSectionProperties::EndProfile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSectionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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); } // Function implementations for IfcSectionReinforcementProperties -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalStartPosition() { return *entity->getArgument(0); } +IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } void IfcSectionReinforcementProperties::setLongitudinalStartPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalEndPosition() { return *entity->getArgument(1); } +IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } void IfcSectionReinforcementProperties::setLongitudinalEndPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSectionReinforcementProperties::hasTransversePosition() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() { return *entity->getArgument(2); } +bool IfcSectionReinforcementProperties::hasTransversePosition() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } void IfcSectionReinforcementProperties::setTransversePosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } +IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } void IfcSectionReinforcementProperties::setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v)); } -IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() { return (IfcSectionProperties*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() { RETURN_AS_LIST(IfcReinforcementBarProperties,5) } -void IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } bool IfcSectionReinforcementProperties::is(Type::Enum v) const { return v == Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::type() const { return Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::Class() { return Type::IfcSectionReinforcementProperties; } -IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionedSpine -IfcCompositeCurve* IfcSectionedSpine::SpineCurve() { return (IfcCompositeCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > IfcSectionedSpine::CrossSections() { RETURN_AS_LIST(IfcProfileDef,1) } -void IfcSectionedSpine::setCrossSections(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > IfcSectionedSpine::CrossSectionPositions() { RETURN_AS_LIST(IfcAxis2Placement3D,2) } -void IfcSectionedSpine::setCrossSectionPositions(SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } +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()); } 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; } -IfcSectionedSpine::IfcSectionedSpine(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSectionedSpine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionedSpine::IfcSectionedSpine(IfcCompositeCurve* v1_SpineCurve, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v2_CrossSections, SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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); } +IfcSectionedSpine::IfcSectionedSpine(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSectionedSpine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcSensorType -IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorType::PredefinedType() { return IfcSensorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensorType::IfcSensorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSensorType::IfcSensorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcServiceLife -IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum IfcServiceLife::ServiceLifeType() { return IfcServiceLifeTypeEnum::FromString(*entity->getArgument(5)); } +IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum IfcServiceLife::ServiceLifeType() const { return IfcServiceLifeTypeEnum::FromString(*entity->getArgument(5)); } void IfcServiceLife::setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcServiceLifeTypeEnum::ToString(v)); } -IfcTimeMeasure IfcServiceLife::ServiceLifeDuration() { return *entity->getArgument(6); } +IfcTimeMeasure IfcServiceLife::ServiceLifeDuration() const { return *entity->getArgument(6); } void IfcServiceLife::setServiceLifeDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcServiceLife::is(Type::Enum v) const { return v == Type::IfcServiceLife || IfcControl::is(v); } Type::Enum IfcServiceLife::type() const { return Type::IfcServiceLife; } Type::Enum IfcServiceLife::Class() { return Type::IfcServiceLife; } -IfcServiceLife::IfcServiceLife(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcServiceLife)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcServiceLife::IfcServiceLife(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, IfcTimeMeasure v7_ServiceLifeDuration) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_ServiceLifeType,IfcServiceLifeTypeEnum::ToString(v6_ServiceLifeType)); e->setArgument(6,(v7_ServiceLifeDuration)); entity = e; EntityBuffer::Add(this); } +IfcServiceLife::IfcServiceLife(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcServiceLife)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcServiceLife::IfcServiceLife(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, IfcTimeMeasure v7_ServiceLifeDuration) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_ServiceLifeType,IfcServiceLifeTypeEnum::ToString(v6_ServiceLifeType)); e->setArgument(6,(v7_ServiceLifeDuration)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcServiceLifeFactor -IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum IfcServiceLifeFactor::PredefinedType() { return IfcServiceLifeFactorTypeEnum::FromString(*entity->getArgument(4)); } +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() { return !entity->getArgument(5)->isNull(); } -IfcMeasureValue IfcServiceLifeFactor::UpperValue() { return *entity->getArgument(5); } +bool IfcServiceLifeFactor::hasUpperValue() const { return !entity->getArgument(5)->isNull(); } +IfcMeasureValue IfcServiceLifeFactor::UpperValue() const { return *entity->getArgument(5); } void IfcServiceLifeFactor::setUpperValue(IfcMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcMeasureValue IfcServiceLifeFactor::MostUsedValue() { return *entity->getArgument(6); } +IfcMeasureValue IfcServiceLifeFactor::MostUsedValue() const { return *entity->getArgument(6); } void IfcServiceLifeFactor::setMostUsedValue(IfcMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcServiceLifeFactor::hasLowerValue() { return !entity->getArgument(7)->isNull(); } -IfcMeasureValue IfcServiceLifeFactor::LowerValue() { return *entity->getArgument(7); } +bool IfcServiceLifeFactor::hasLowerValue() const { return !entity->getArgument(7)->isNull(); } +IfcMeasureValue IfcServiceLifeFactor::LowerValue() const { return *entity->getArgument(7); } void IfcServiceLifeFactor::setLowerValue(IfcMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcServiceLifeFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcServiceLifeFactor::IfcServiceLifeFactor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue > v6_UpperValue, IfcMeasureValue v7_MostUsedValue, boost::optional< IfcMeasureValue > v8_LowerValue) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PredefinedType,IfcServiceLifeFactorTypeEnum::ToString(v5_PredefinedType)); if (v6_UpperValue) { e->setArgument(5,(*v6_UpperValue)); } else { e->setArgument(5); } e->setArgument(6,(v7_MostUsedValue)); if (v8_LowerValue) { e->setArgument(7,(*v8_LowerValue)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcServiceLifeFactor::IfcServiceLifeFactor(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcServiceLifeFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcServiceLifeFactor::IfcServiceLifeFactor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue > v6_UpperValue, IfcMeasureValue v7_MostUsedValue, boost::optional< IfcMeasureValue > v8_LowerValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PredefinedType,IfcServiceLifeFactorTypeEnum::ToString(v5_PredefinedType)); if (v6_UpperValue) { e->setArgument(5,(*v6_UpperValue)); } else { e->setArgument(5); } e->setArgument(6,(v7_MostUsedValue)); if (v8_LowerValue) { e->setArgument(7,(*v8_LowerValue)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeAspect -SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > IfcShapeAspect::ShapeRepresentations() { RETURN_AS_LIST(IfcShapeModel,0) } -void IfcShapeAspect::setShapeRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcShapeAspect::hasName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcShapeAspect::Name() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcShapeModel >::ptr IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +bool IfcShapeAspect::hasName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcShapeAspect::Name() const { return *entity->getArgument(1); } void IfcShapeAspect::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcShapeAspect::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcShapeAspect::Description() { return *entity->getArgument(2); } +bool IfcShapeAspect::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcShapeAspect::Description() const { return *entity->getArgument(2); } void IfcShapeAspect::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcShapeAspect::ProductDefinitional() { return *entity->getArgument(3); } +bool IfcShapeAspect::ProductDefinitional() const { return *entity->getArgument(3); } void IfcShapeAspect::setProductDefinitional(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcProductDefinitionShape* IfcShapeAspect::PartOfProductDefinitionShape() { return (IfcProductDefinitionShape*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeAspect::IfcShapeAspect(SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); e->setArgument(4,(v5_PartOfProductDefinitionShape)); entity = e; EntityBuffer::Add(this); } +IfcShapeAspect::IfcShapeAspect(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); e->setArgument(4,(v5_PartOfProductDefinitionShape)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeModel -IfcShapeAspect::list IfcShapeModel::OfShapeAspect() { RETURN_INVERSE(IfcShapeAspect) } +IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } bool IfcShapeModel::is(Type::Enum v) const { return v == Type::IfcShapeModel || IfcRepresentation::is(v); } Type::Enum IfcShapeModel::type() const { return Type::IfcShapeModel; } Type::Enum IfcShapeModel::Class() { return Type::IfcShapeModel; } -IfcShapeModel::IfcShapeModel(IfcAbstractEntityPtr e) : IfcRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShapeModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeModel::IfcShapeModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeRepresentation bool IfcShapeRepresentation::is(Type::Enum v) const { return v == Type::IfcShapeRepresentation || IfcShapeModel::is(v); } Type::Enum IfcShapeRepresentation::type() const { return Type::IfcShapeRepresentation; } Type::Enum IfcShapeRepresentation::Class() { return Type::IfcShapeRepresentation; } -IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntityPtr e) : IfcShapeModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcShapeModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShellBasedSurfaceModel -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcShellBasedSurfaceModel::SbsmBoundary() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcShellBasedSurfaceModel::setSbsmBoundary(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShellBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntities v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SbsmBoundary)); entity = e; EntityBuffer::Add(this); } +IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShellBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityList::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SbsmBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSimpleProperty bool IfcSimpleProperty::is(Type::Enum v) const { return v == Type::IfcSimpleProperty || IfcProperty::is(v); } Type::Enum IfcSimpleProperty::type() const { return Type::IfcSimpleProperty; } Type::Enum IfcSimpleProperty::Class() { return Type::IfcSimpleProperty; } -IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntityPtr e) : IfcProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSimpleProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimpleProperty::IfcSimpleProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimpleProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSimpleProperty::IfcSimpleProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSite -bool IfcSite::hasRefLatitude() { return !entity->getArgument(9)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLatitude() { return *entity->getArgument(9); } +bool IfcSite::hasRefLatitude() const { return !entity->getArgument(9)->isNull(); } +IfcCompoundPlaneAngleMeasure IfcSite::RefLatitude() const { return *entity->getArgument(9); } void IfcSite::setRefLatitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSite::hasRefLongitude() { return !entity->getArgument(10)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLongitude() { return *entity->getArgument(10); } +bool IfcSite::hasRefLongitude() const { return !entity->getArgument(10)->isNull(); } +IfcCompoundPlaneAngleMeasure IfcSite::RefLongitude() const { return *entity->getArgument(10); } void IfcSite::setRefLongitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSite::hasRefElevation() { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcSite::RefElevation() { return *entity->getArgument(11); } +bool IfcSite::hasRefElevation() const { return !entity->getArgument(11)->isNull(); } +IfcLengthMeasure IfcSite::RefElevation() const { return *entity->getArgument(11); } void IfcSite::setRefElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcSite::hasLandTitleNumber() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcSite::LandTitleNumber() { return *entity->getArgument(12); } +bool IfcSite::hasLandTitleNumber() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } void IfcSite::setLandTitleNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcSite::hasSiteAddress() { return !entity->getArgument(13)->isNull(); } -IfcPostalAddress* IfcSite::SiteAddress() { return (IfcPostalAddress*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(13))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSite::IfcSite(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSite::IfcSite(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlab -bool IfcSlab::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlab::PredefinedType() { return IfcSlabTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlab::IfcSlab(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlab::IfcSlab(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabType -IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabType::PredefinedType() { return IfcSlabTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabType::IfcSlabType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlabType::IfcSlabType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlippageConnectionCondition -bool IfcSlippageConnectionCondition::hasSlippageX() { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageX() { return *entity->getArgument(1); } +bool IfcSlippageConnectionCondition::hasSlippageX() const { return !entity->getArgument(1)->isNull(); } +IfcLengthMeasure IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } void IfcSlippageConnectionCondition::setSlippageX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSlippageConnectionCondition::hasSlippageY() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageY() { return *entity->getArgument(2); } +bool IfcSlippageConnectionCondition::hasSlippageY() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } void IfcSlippageConnectionCondition::setSlippageY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSlippageConnectionCondition::hasSlippageZ() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageZ() { return *entity->getArgument(3); } +bool IfcSlippageConnectionCondition::hasSlippageZ() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } void IfcSlippageConnectionCondition::setSlippageZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSlippageConnectionCondition::is(Type::Enum v) const { return v == Type::IfcSlippageConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcSlippageConnectionCondition::type() const { return Type::IfcSlippageConnectionCondition; } Type::Enum IfcSlippageConnectionCondition::Class() { return Type::IfcSlippageConnectionCondition; } -IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntityPtr e) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlippageConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlippageConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolidModel bool IfcSolidModel::is(Type::Enum v) const { return v == Type::IfcSolidModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSolidModel::type() const { return Type::IfcSolidModel; } Type::Enum IfcSolidModel::Class() { return Type::IfcSolidModel; } -IfcSolidModel::IfcSolidModel(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSolidModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcSolidModel::IfcSolidModel(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolidModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSoundProperties -IfcBoolean IfcSoundProperties::IsAttenuating() { return *entity->getArgument(4); } +IfcBoolean IfcSoundProperties::IsAttenuating() const { return *entity->getArgument(4); } void IfcSoundProperties::setIsAttenuating(IfcBoolean v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcSoundProperties::hasSoundScale() { return !entity->getArgument(5)->isNull(); } -IfcSoundScaleEnum::IfcSoundScaleEnum IfcSoundProperties::SoundScale() { return IfcSoundScaleEnum::FromString(*entity->getArgument(5)); } +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)); } -SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > IfcSoundProperties::SoundValues() { RETURN_AS_LIST(IfcSoundValue,6) } -void IfcSoundProperties::setSoundValues(SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +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()); } 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; } -IfcSoundProperties::IfcSoundProperties(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSoundProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSoundProperties::IfcSoundProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcBoolean v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > v7_SoundValues) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_IsAttenuating)); if (v6_SoundScale) { e->setArgument(5,*v6_SoundScale,IfcSoundScaleEnum::ToString(*v6_SoundScale)); } else { e->setArgument(5); } e->setArgument(6,(v7_SoundValues)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSoundProperties::IfcSoundProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSoundProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSoundProperties::IfcSoundProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcBoolean v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_IsAttenuating)); if (v6_SoundScale) { e->setArgument(5,*v6_SoundScale,IfcSoundScaleEnum::ToString(*v6_SoundScale)); } else { e->setArgument(5); } e->setArgument(6,(v7_SoundValues)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSoundValue -bool IfcSoundValue::hasSoundLevelTimeSeries() { return !entity->getArgument(4)->isNull(); } -IfcTimeSeries* IfcSoundValue::SoundLevelTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +bool IfcSoundValue::hasSoundLevelTimeSeries() const { return !entity->getArgument(4)->isNull(); } +IfcTimeSeries* IfcSoundValue::SoundLevelTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcSoundValue::setSoundLevelTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcFrequencyMeasure IfcSoundValue::Frequency() { return *entity->getArgument(5); } +IfcFrequencyMeasure IfcSoundValue::Frequency() const { return *entity->getArgument(5); } void IfcSoundValue::setFrequency(IfcFrequencyMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSoundValue::hasSoundLevelSingleValue() { return !entity->getArgument(6)->isNull(); } -IfcDerivedMeasureValue IfcSoundValue::SoundLevelSingleValue() { return *entity->getArgument(6); } +bool IfcSoundValue::hasSoundLevelSingleValue() const { return !entity->getArgument(6)->isNull(); } +IfcDerivedMeasureValue IfcSoundValue::SoundLevelSingleValue() const { return *entity->getArgument(6); } void IfcSoundValue::setSoundLevelSingleValue(IfcDerivedMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSoundValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSoundValue::IfcSoundValue(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, IfcFrequencyMeasure v6_Frequency, boost::optional< IfcDerivedMeasureValue > v7_SoundLevelSingleValue) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_SoundLevelTimeSeries)); e->setArgument(5,(v6_Frequency)); if (v7_SoundLevelSingleValue) { e->setArgument(6,(*v7_SoundLevelSingleValue)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcSoundValue::IfcSoundValue(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSoundValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSoundValue::IfcSoundValue(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, IfcFrequencyMeasure v6_Frequency, boost::optional< IfcDerivedMeasureValue > v7_SoundLevelSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_SoundLevelTimeSeries)); e->setArgument(5,(v6_Frequency)); if (v7_SoundLevelSingleValue) { e->setArgument(6,(*v7_SoundLevelSingleValue)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpace -IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcSpace::InteriorOrExteriorSpace() { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcSpace::ElevationWithFlooring() { return *entity->getArgument(10); } +bool IfcSpace::hasElevationWithFlooring() const { return !entity->getArgument(10)->isNull(); } +IfcLengthMeasure IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } void IfcSpace::setElevationWithFlooring(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcRelCoversSpaces::list IfcSpace::HasCoverings() { RETURN_INVERSE(IfcRelCoversSpaces) } -IfcRelSpaceBoundary::list IfcSpace::BoundedBy() { RETURN_INVERSE(IfcRelSpaceBoundary) } +IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversSpaces)->as(); } +IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->as(); } bool IfcSpace::is(Type::Enum v) const { return v == Type::IfcSpace || IfcSpatialStructureElement::is(v); } Type::Enum IfcSpace::type() const { return Type::IfcSpace; } Type::Enum IfcSpace::Class() { return Type::IfcSpace; } -IfcSpace::IfcSpace(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpace::IfcSpace(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpace::IfcSpace(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); e->setArgument(9,v10_InteriorOrExteriorSpace,IfcInternalOrExternalEnum::ToString(v10_InteriorOrExteriorSpace)); if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeaterType -IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterType::PredefinedType() { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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; } -IfcSpaceHeaterType::IfcSpaceHeaterType(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeaterType::IfcSpaceHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceHeaterType::IfcSpaceHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceProgram -IfcIdentifier IfcSpaceProgram::SpaceProgramIdentifier() { return *entity->getArgument(5); } +IfcIdentifier IfcSpaceProgram::SpaceProgramIdentifier() const { return *entity->getArgument(5); } void IfcSpaceProgram::setSpaceProgramIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSpaceProgram::hasMaxRequiredArea() { return !entity->getArgument(6)->isNull(); } -IfcAreaMeasure IfcSpaceProgram::MaxRequiredArea() { return *entity->getArgument(6); } +bool IfcSpaceProgram::hasMaxRequiredArea() const { return !entity->getArgument(6)->isNull(); } +IfcAreaMeasure IfcSpaceProgram::MaxRequiredArea() const { return *entity->getArgument(6); } void IfcSpaceProgram::setMaxRequiredArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSpaceProgram::hasMinRequiredArea() { return !entity->getArgument(7)->isNull(); } -IfcAreaMeasure IfcSpaceProgram::MinRequiredArea() { return *entity->getArgument(7); } +bool IfcSpaceProgram::hasMinRequiredArea() const { return !entity->getArgument(7)->isNull(); } +IfcAreaMeasure IfcSpaceProgram::MinRequiredArea() const { return *entity->getArgument(7); } void IfcSpaceProgram::setMinRequiredArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcSpaceProgram::hasRequestedLocation() { return !entity->getArgument(8)->isNull(); } -IfcSpatialStructureElement* IfcSpaceProgram::RequestedLocation() { return (IfcSpatialStructureElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +bool IfcSpaceProgram::hasRequestedLocation() const { return !entity->getArgument(8)->isNull(); } +IfcSpatialStructureElement* IfcSpaceProgram::RequestedLocation() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcSpaceProgram::setRequestedLocation(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcAreaMeasure IfcSpaceProgram::StandardRequiredArea() { return *entity->getArgument(9); } +IfcAreaMeasure IfcSpaceProgram::StandardRequiredArea() const { return *entity->getArgument(9); } void IfcSpaceProgram::setStandardRequiredArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcRelInteractionRequirements::list IfcSpaceProgram::HasInteractionReqsFrom() { RETURN_INVERSE(IfcRelInteractionRequirements) } -IfcRelInteractionRequirements::list IfcSpaceProgram::HasInteractionReqsTo() { RETURN_INVERSE(IfcRelInteractionRequirements) } +IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsFrom() const { return entity->getInverse(Type::IfcRelInteractionRequirements)->as(); } +IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsTo() const { return entity->getInverse(Type::IfcRelInteractionRequirements)->as(); } bool IfcSpaceProgram::is(Type::Enum v) const { return v == Type::IfcSpaceProgram || IfcControl::is(v); } Type::Enum IfcSpaceProgram::type() const { return Type::IfcSpaceProgram; } Type::Enum IfcSpaceProgram::Class() { return Type::IfcSpaceProgram; } -IfcSpaceProgram::IfcSpaceProgram(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceProgram)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceProgram::IfcSpaceProgram(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_SpaceProgramIdentifier, boost::optional< IfcAreaMeasure > v7_MaxRequiredArea, boost::optional< IfcAreaMeasure > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, IfcAreaMeasure v10_StandardRequiredArea) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceProgram)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceProgram::IfcSpaceProgram(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_SpaceProgramIdentifier, boost::optional< IfcAreaMeasure > v7_MaxRequiredArea, boost::optional< IfcAreaMeasure > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, IfcAreaMeasure v10_StandardRequiredArea) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) { e->setArgument(6,(*v7_MaxRequiredArea)); } else { e->setArgument(6); } if (v8_MinRequiredArea) { e->setArgument(7,(*v8_MinRequiredArea)); } else { e->setArgument(7); } e->setArgument(8,(v9_RequestedLocation)); e->setArgument(9,(v10_StandardRequiredArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceThermalLoadProperties -bool IfcSpaceThermalLoadProperties::hasApplicableValueRatio() { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcSpaceThermalLoadProperties::ApplicableValueRatio() { return *entity->getArgument(4); } +bool IfcSpaceThermalLoadProperties::hasApplicableValueRatio() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveRatioMeasure IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { return *entity->getArgument(4); } void IfcSpaceThermalLoadProperties::setApplicableValueRatio(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum IfcSpaceThermalLoadProperties::ThermalLoadSource() { return IfcThermalLoadSourceEnum::FromString(*entity->getArgument(5)); } +IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum IfcSpaceThermalLoadProperties::ThermalLoadSource() const { return IfcThermalLoadSourceEnum::FromString(*entity->getArgument(5)); } void IfcSpaceThermalLoadProperties::setThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcThermalLoadSourceEnum::ToString(v)); } -IfcPropertySourceEnum::IfcPropertySourceEnum IfcSpaceThermalLoadProperties::PropertySource() { return IfcPropertySourceEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcText IfcSpaceThermalLoadProperties::SourceDescription() { return *entity->getArgument(7); } +bool IfcSpaceThermalLoadProperties::hasSourceDescription() const { return !entity->getArgument(7)->isNull(); } +IfcText IfcSpaceThermalLoadProperties::SourceDescription() const { return *entity->getArgument(7); } void IfcSpaceThermalLoadProperties::setSourceDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPowerMeasure IfcSpaceThermalLoadProperties::MaximumValue() { return *entity->getArgument(8); } +IfcPowerMeasure IfcSpaceThermalLoadProperties::MaximumValue() const { return *entity->getArgument(8); } void IfcSpaceThermalLoadProperties::setMaximumValue(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcSpaceThermalLoadProperties::hasMinimumValue() { return !entity->getArgument(9)->isNull(); } -IfcPowerMeasure IfcSpaceThermalLoadProperties::MinimumValue() { return *entity->getArgument(9); } +bool IfcSpaceThermalLoadProperties::hasMinimumValue() const { return !entity->getArgument(9)->isNull(); } +IfcPowerMeasure IfcSpaceThermalLoadProperties::MinimumValue() const { return *entity->getArgument(9); } void IfcSpaceThermalLoadProperties::setMinimumValue(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSpaceThermalLoadProperties::hasThermalLoadTimeSeriesValues() { return !entity->getArgument(10)->isNull(); } -IfcTimeSeries* IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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() { return !entity->getArgument(11)->isNull(); } -IfcLabel IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() { return *entity->getArgument(11); } +bool IfcSpaceThermalLoadProperties::hasUserDefinedThermalLoadSource() const { return !entity->getArgument(11)->isNull(); } +IfcLabel IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { return *entity->getArgument(11); } void IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcSpaceThermalLoadProperties::hasUserDefinedPropertySource() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcSpaceThermalLoadProperties::UserDefinedPropertySource() { return *entity->getArgument(12); } +bool IfcSpaceThermalLoadProperties::hasUserDefinedPropertySource() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { return *entity->getArgument(12); } void IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum IfcSpaceThermalLoadProperties::ThermalLoadType() { return IfcThermalLoadTypeEnum::FromString(*entity->getArgument(13)); } +IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum IfcSpaceThermalLoadProperties::ThermalLoadType() const { return IfcThermalLoadTypeEnum::FromString(*entity->getArgument(13)); } void IfcSpaceThermalLoadProperties::setThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcThermalLoadTypeEnum::ToString(v)); } bool IfcSpaceThermalLoadProperties::is(Type::Enum v) const { return v == Type::IfcSpaceThermalLoadProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcSpaceThermalLoadProperties::type() const { return Type::IfcSpaceThermalLoadProperties; } Type::Enum IfcSpaceThermalLoadProperties::Class() { return Type::IfcSpaceThermalLoadProperties; } -IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceThermalLoadProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveRatioMeasure > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< IfcText > v8_SourceDescription, IfcPowerMeasure v9_MaximumValue, boost::optional< IfcPowerMeasure > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< IfcLabel > v12_UserDefinedThermalLoadSource, boost::optional< IfcLabel > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceThermalLoadProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveRatioMeasure > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< IfcText > v8_SourceDescription, IfcPowerMeasure v9_MaximumValue, boost::optional< IfcPowerMeasure > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< IfcLabel > v12_UserDefinedThermalLoadSource, boost::optional< IfcLabel > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableValueRatio) { e->setArgument(4,(*v5_ApplicableValueRatio)); } else { e->setArgument(4); } e->setArgument(5,v6_ThermalLoadSource,IfcThermalLoadSourceEnum::ToString(v6_ThermalLoadSource)); e->setArgument(6,v7_PropertySource,IfcPropertySourceEnum::ToString(v7_PropertySource)); if (v8_SourceDescription) { e->setArgument(7,(*v8_SourceDescription)); } else { e->setArgument(7); } e->setArgument(8,(v9_MaximumValue)); if (v10_MinimumValue) { e->setArgument(9,(*v10_MinimumValue)); } else { e->setArgument(9); } e->setArgument(10,(v11_ThermalLoadTimeSeriesValues)); if (v12_UserDefinedThermalLoadSource) { e->setArgument(11,(*v12_UserDefinedThermalLoadSource)); } else { e->setArgument(11); } if (v13_UserDefinedPropertySource) { e->setArgument(12,(*v13_UserDefinedPropertySource)); } else { e->setArgument(12); } e->setArgument(13,v14_ThermalLoadType,IfcThermalLoadTypeEnum::ToString(v14_ThermalLoadType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceType -IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceType::PredefinedType() { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } +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::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(IfcAbstractEntityPtr e) : IfcSpatialStructureElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceType::IfcSpaceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType) : IfcSpatialStructureElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceType::IfcSpaceType(IfcAbstractEntity* e) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceType::IfcSpaceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElement -bool IfcSpatialStructureElement::hasLongName() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcSpatialStructureElement::LongName() { return *entity->getArgument(7); } +bool IfcSpatialStructureElement::hasLongName() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcSpatialStructureElement::LongName() const { return *entity->getArgument(7); } void IfcSpatialStructureElement::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } +IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() const { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } void IfcSpatialStructureElement::setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElementCompositionEnum::ToString(v)); } -IfcRelReferencedInSpatialStructure::list IfcSpatialStructureElement::ReferencesElements() { RETURN_INVERSE(IfcRelReferencedInSpatialStructure) } -IfcRelServicesBuildings::list IfcSpatialStructureElement::ServicedBySystems() { RETURN_INVERSE(IfcRelServicesBuildings) } -IfcRelContainedInSpatialStructure::list IfcSpatialStructureElement::ContainsElements() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialStructureElement::ReferencesElements() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure)->as(); } +IfcRelServicesBuildings::list::ptr IfcSpatialStructureElement::ServicedBySystems() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcSpatialStructureElement::ContainsElements() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } bool IfcSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElement || IfcProduct::is(v); } Type::Enum IfcSpatialStructureElement::type() const { return Type::IfcSpatialStructureElement; } Type::Enum IfcSpatialStructureElement::Class() { return Type::IfcSpatialStructureElement; } -IfcSpatialStructureElement::IfcSpatialStructureElement(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElement::IfcSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialStructureElement::IfcSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElementType bool IfcSpatialStructureElementType::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElementType || IfcElementType::is(v); } Type::Enum IfcSpatialStructureElementType::type() const { return Type::IfcSpatialStructureElementType; } Type::Enum IfcSpatialStructureElementType::Class() { return Type::IfcSpatialStructureElementType; } -IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSphere -IfcPositiveLengthMeasure IfcSphere::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcSphere::Radius() const { return *entity->getArgument(1); } void IfcSphere::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSphere::is(Type::Enum v) const { return v == Type::IfcSphere || IfcCsgPrimitive3D::is(v); } Type::Enum IfcSphere::type() const { return Type::IfcSphere; } Type::Enum IfcSphere::Class() { return Type::IfcSphere; } -IfcSphere::IfcSphere(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcSphere::IfcSphere(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminalType -IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalType::PredefinedType() { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminalType::IfcStackTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStackTerminalType::IfcStackTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStair -IfcStairTypeEnum::IfcStairTypeEnum IfcStair::ShapeType() { return IfcStairTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStair::IfcStair(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStair::IfcStair(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcStairTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight -bool IfcStairFlight::hasNumberOfRiser() { return !entity->getArgument(8)->isNull(); } -int IfcStairFlight::NumberOfRiser() { return *entity->getArgument(8); } +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() { return !entity->getArgument(9)->isNull(); } -int IfcStairFlight::NumberOfTreads() { return *entity->getArgument(9); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::RiserHeight() { return *entity->getArgument(10); } +bool IfcStairFlight::hasRiserHeight() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } void IfcStairFlight::setRiserHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcStairFlight::hasTreadLength() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::TreadLength() { return *entity->getArgument(11); } +bool IfcStairFlight::hasTreadLength() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } void IfcStairFlight::setTreadLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStairFlight::IfcStairFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType -IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlightType::IfcStairFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStairFlightType::IfcStairFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAction -bool IfcStructuralAction::DestabilizingLoad() { return *entity->getArgument(9); } +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() { return !entity->getArgument(10)->isNull(); } -IfcStructuralReaction* IfcStructuralAction::CausedBy() { return (IfcStructuralReaction*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAction::IfcStructuralAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralAction::IfcStructuralAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralActivity -IfcStructuralLoad* IfcStructuralActivity::AppliedLoad() { return (IfcStructuralLoad*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } -IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcStructuralActivity::GlobalOrLocal() { return IfcGlobalOrLocalEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcRelConnectsStructuralActivity::list IfcStructuralActivity::AssignedToStructuralItem() { RETURN_INVERSE(IfcRelConnectsStructuralActivity) } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity)->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(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralActivity::IfcStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralActivity::IfcStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAnalysisModel -IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::PredefinedType() { return IfcAnalysisModelTypeEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcAxis2Placement3D* IfcStructuralAnalysisModel::OrientationOf2DPlane() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > IfcStructuralAnalysisModel::LoadedBy() { RETURN_AS_LIST(IfcStructuralLoadGroup,7) } -void IfcStructuralAnalysisModel::setLoadedBy(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcStructuralAnalysisModel::hasHasResults() { return !entity->getArgument(8)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > IfcStructuralAnalysisModel::HasResults() { RETURN_AS_LIST(IfcStructuralResultGroup,8) } -void IfcStructuralAnalysisModel::setHasResults(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +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::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(IfcAbstractEntityPtr e) : IfcSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > > v8_LoadedBy, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > > v9_HasResults) : IfcSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnection -bool IfcStructuralConnection::hasAppliedCondition() { return !entity->getArgument(7)->isNull(); } -IfcBoundaryCondition* IfcStructuralConnection::AppliedCondition() { return (IfcBoundaryCondition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } -IfcRelConnectsStructuralMember::list IfcStructuralConnection::ConnectsStructuralMembers() { RETURN_INVERSE(IfcRelConnectsStructuralMember) } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember)->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(IfcAbstractEntityPtr e) : IfcStructuralItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnection::IfcStructuralConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralConnection::IfcStructuralConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnectionCondition -bool IfcStructuralConnectionCondition::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralConnectionCondition::Name() { return *entity->getArgument(0); } +bool IfcStructuralConnectionCondition::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } void IfcStructuralConnectionCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralConnectionCondition::is(Type::Enum v) const { return v == Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::type() const { return Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::Class() { return Type::IfcStructuralConnectionCondition; } -IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveConnection bool IfcStructuralCurveConnection::is(Type::Enum v) const { return v == Type::IfcStructuralCurveConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralCurveConnection::type() const { return Type::IfcStructuralCurveConnection; } Type::Enum IfcStructuralCurveConnection::Class() { return Type::IfcStructuralCurveConnection; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcAbstractEntityPtr e) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMember -IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum IfcStructuralCurveMember::PredefinedType() { return IfcStructuralCurveTypeEnum::FromString(*entity->getArgument(7)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMember::IfcStructuralCurveMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveMember::IfcStructuralCurveMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralCurveMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralCurveMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralItem -IfcRelConnectsStructuralActivity::list IfcStructuralItem::AssignedStructuralActivity() { RETURN_INVERSE(IfcRelConnectsStructuralActivity) } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity)->as(); } bool IfcStructuralItem::is(Type::Enum v) const { return v == Type::IfcStructuralItem || IfcProduct::is(v); } Type::Enum IfcStructuralItem::type() const { return Type::IfcStructuralItem; } Type::Enum IfcStructuralItem::Class() { return Type::IfcStructuralItem; } -IfcStructuralItem::IfcStructuralItem(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralItem::IfcStructuralItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralItem::IfcStructuralItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearAction -IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralLinearAction::ProjectedOrTrue() { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearAction::IfcStructuralLinearAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLinearAction::IfcStructuralLinearAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearActionVarying -IfcShapeAspect* IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(12))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > IfcStructuralLinearActionVarying::SubsequentAppliedLoads() { RETURN_AS_LIST(IfcStructuralLoad,13) } -void IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcStructuralLinearAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v14_SubsequentAppliedLoads) : IfcStructuralLinearAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoad -bool IfcStructuralLoad::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralLoad::Name() { return *entity->getArgument(0); } +bool IfcStructuralLoad::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcStructuralLoad::Name() const { return *entity->getArgument(0); } void IfcStructuralLoad::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralLoad::is(Type::Enum v) const { return v == Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::type() const { return Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::Class() { return Type::IfcStructuralLoad; } -IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralLoad)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralLoad)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcStructuralLoad::IfcStructuralLoad(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadGroup -IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcStructuralLoadGroup::PredefinedType() { return IfcLoadGroupTypeEnum::FromString(*entity->getArgument(5)); } +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)); } -IfcActionTypeEnum::IfcActionTypeEnum IfcStructuralLoadGroup::ActionType() { return IfcActionTypeEnum::FromString(*entity->getArgument(6)); } +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)); } -IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcStructuralLoadGroup::ActionSource() { return IfcActionSourceTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcRatioMeasure IfcStructuralLoadGroup::Coefficient() { return *entity->getArgument(8); } +bool IfcStructuralLoadGroup::hasCoefficient() const { return !entity->getArgument(8)->isNull(); } +IfcRatioMeasure IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } void IfcStructuralLoadGroup::setCoefficient(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStructuralLoadGroup::hasPurpose() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcStructuralLoadGroup::Purpose() { return *entity->getArgument(9); } +bool IfcStructuralLoadGroup::hasPurpose() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } void IfcStructuralLoadGroup::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcStructuralResultGroup::list IfcStructuralLoadGroup::SourceOfResultGroup() { RETURN_INVERSE(IfcStructuralResultGroup) } -IfcStructuralAnalysisModel::list IfcStructuralLoadGroup::LoadGroupFor() { RETURN_INVERSE(IfcStructuralAnalysisModel) } +IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return entity->getInverse(Type::IfcStructuralResultGroup)->as(); } +IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel)->as(); } bool IfcStructuralLoadGroup::is(Type::Enum v) const { return v == Type::IfcStructuralLoadGroup || IfcGroup::is(v); } Type::Enum IfcStructuralLoadGroup::type() const { return Type::IfcStructuralLoadGroup; } Type::Enum IfcStructuralLoadGroup::Class() { return Type::IfcStructuralLoadGroup; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadLinearForce -bool IfcStructuralLoadLinearForce::hasLinearForceX() { return !entity->getArgument(1)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceX() { return *entity->getArgument(1); } +bool IfcStructuralLoadLinearForce::hasLinearForceX() const { return !entity->getArgument(1)->isNull(); } +IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } void IfcStructuralLoadLinearForce::setLinearForceX(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceY() { return !entity->getArgument(2)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceY() { return *entity->getArgument(2); } +bool IfcStructuralLoadLinearForce::hasLinearForceY() const { return !entity->getArgument(2)->isNull(); } +IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } void IfcStructuralLoadLinearForce::setLinearForceY(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceZ() { return !entity->getArgument(3)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !entity->getArgument(3)->isNull(); } +IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } void IfcStructuralLoadLinearForce::setLinearForceZ(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentX() { return !entity->getArgument(4)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentX() { return *entity->getArgument(4); } +bool IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !entity->getArgument(4)->isNull(); } +IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } void IfcStructuralLoadLinearForce::setLinearMomentX(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentY() { return !entity->getArgument(5)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentY() { return *entity->getArgument(5); } +bool IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !entity->getArgument(5)->isNull(); } +IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } void IfcStructuralLoadLinearForce::setLinearMomentY(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentZ() { return !entity->getArgument(6)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentZ() { return *entity->getArgument(6); } +bool IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !entity->getArgument(6)->isNull(); } +IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } void IfcStructuralLoadLinearForce::setLinearMomentZ(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadLinearForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadLinearForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadLinearForce::type() const { return Type::IfcStructuralLoadLinearForce; } Type::Enum IfcStructuralLoadLinearForce::Class() { return Type::IfcStructuralLoadLinearForce; } -IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadLinearForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadLinearForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadPlanarForce -bool IfcStructuralLoadPlanarForce::hasPlanarForceX() { return !entity->getArgument(1)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceX() { return *entity->getArgument(1); } +bool IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !entity->getArgument(1)->isNull(); } +IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } void IfcStructuralLoadPlanarForce::setPlanarForceX(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceY() { return !entity->getArgument(2)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceY() { return *entity->getArgument(2); } +bool IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !entity->getArgument(2)->isNull(); } +IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } void IfcStructuralLoadPlanarForce::setPlanarForceY(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() { return !entity->getArgument(3)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !entity->getArgument(3)->isNull(); } +IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } void IfcStructuralLoadPlanarForce::setPlanarForceZ(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadPlanarForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadPlanarForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadPlanarForce::type() const { return Type::IfcStructuralLoadPlanarForce; } Type::Enum IfcStructuralLoadPlanarForce::Class() { return Type::IfcStructuralLoadPlanarForce; } -IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadPlanarForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadPlanarForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacement -bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementX() { return *entity->getArgument(1); } +bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !entity->getArgument(1)->isNull(); } +IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } void IfcStructuralLoadSingleDisplacement::setDisplacementX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementY() { return *entity->getArgument(2); } +bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } void IfcStructuralLoadSingleDisplacement::setDisplacementY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } void IfcStructuralLoadSingleDisplacement::setDisplacementZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() { return !entity->getArgument(4)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() { return *entity->getArgument(4); } +bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !entity->getArgument(4)->isNull(); } +IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() { return !entity->getArgument(5)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() { return *entity->getArgument(5); } +bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !entity->getArgument(5)->isNull(); } +IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() { return !entity->getArgument(6)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() { return *entity->getArgument(6); } +bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !entity->getArgument(6)->isNull(); } +IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleDisplacement::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacement || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleDisplacement::type() const { return Type::IfcStructuralLoadSingleDisplacement; } Type::Enum IfcStructuralLoadSingleDisplacement::Class() { return Type::IfcStructuralLoadSingleDisplacement; } -IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() { return !entity->getArgument(7)->isNull(); } -IfcCurvatureMeasure IfcStructuralLoadSingleDisplacementDistortion::Distortion() { return *entity->getArgument(7); } +bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !entity->getArgument(7)->isNull(); } +IfcCurvatureMeasure IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(IfcCurvatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleDisplacementDistortion::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacementDistortion || IfcStructuralLoadSingleDisplacement::is(v); } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::type() const { return Type::IfcStructuralLoadSingleDisplacementDistortion; } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::Class() { return Type::IfcStructuralLoadSingleDisplacementDistortion; } -IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcAbstractEntityPtr e) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacementDistortion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcAbstractEntity* e) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacementDistortion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForce -bool IfcStructuralLoadSingleForce::hasForceX() { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceX() { return *entity->getArgument(1); } +bool IfcStructuralLoadSingleForce::hasForceX() const { return !entity->getArgument(1)->isNull(); } +IfcForceMeasure IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } void IfcStructuralLoadSingleForce::setForceX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleForce::hasForceY() { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceY() { return *entity->getArgument(2); } +bool IfcStructuralLoadSingleForce::hasForceY() const { return !entity->getArgument(2)->isNull(); } +IfcForceMeasure IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } void IfcStructuralLoadSingleForce::setForceY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleForce::hasForceZ() { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadSingleForce::hasForceZ() const { return !entity->getArgument(3)->isNull(); } +IfcForceMeasure IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } void IfcStructuralLoadSingleForce::setForceZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleForce::hasMomentX() { return !entity->getArgument(4)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentX() { return *entity->getArgument(4); } +bool IfcStructuralLoadSingleForce::hasMomentX() const { return !entity->getArgument(4)->isNull(); } +IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } void IfcStructuralLoadSingleForce::setMomentX(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleForce::hasMomentY() { return !entity->getArgument(5)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentY() { return *entity->getArgument(5); } +bool IfcStructuralLoadSingleForce::hasMomentY() const { return !entity->getArgument(5)->isNull(); } +IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } void IfcStructuralLoadSingleForce::setMomentY(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleForce::hasMomentZ() { return !entity->getArgument(6)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentZ() { return *entity->getArgument(6); } +bool IfcStructuralLoadSingleForce::hasMomentZ() const { return !entity->getArgument(6)->isNull(); } +IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } void IfcStructuralLoadSingleForce::setMomentZ(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleForce::type() const { return Type::IfcStructuralLoadSingleForce; } Type::Enum IfcStructuralLoadSingleForce::Class() { return Type::IfcStructuralLoadSingleForce; } -IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForceWarping -bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() { return !entity->getArgument(7)->isNull(); } -IfcWarpingMomentMeasure IfcStructuralLoadSingleForceWarping::WarpingMoment() { return *entity->getArgument(7); } +bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !entity->getArgument(7)->isNull(); } +IfcWarpingMomentMeasure IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } void IfcStructuralLoadSingleForceWarping::setWarpingMoment(IfcWarpingMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleForceWarping::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForceWarping || IfcStructuralLoadSingleForce::is(v); } Type::Enum IfcStructuralLoadSingleForceWarping::type() const { return Type::IfcStructuralLoadSingleForceWarping; } Type::Enum IfcStructuralLoadSingleForceWarping::Class() { return Type::IfcStructuralLoadSingleForceWarping; } -IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcAbstractEntityPtr e) : IfcStructuralLoadSingleForce((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForceWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcAbstractEntity* e) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForceWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadStatic bool IfcStructuralLoadStatic::is(Type::Enum v) const { return v == Type::IfcStructuralLoadStatic || IfcStructuralLoad::is(v); } Type::Enum IfcStructuralLoadStatic::type() const { return Type::IfcStructuralLoadStatic; } Type::Enum IfcStructuralLoadStatic::Class() { return Type::IfcStructuralLoadStatic; } -IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntityPtr e) : IfcStructuralLoad((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadStatic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoad((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntity* e) : IfcStructuralLoad((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadStatic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadTemperature -bool IfcStructuralLoadTemperature::hasDeltaT_Constant() { return !entity->getArgument(1)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Constant() { return *entity->getArgument(1); } +bool IfcStructuralLoadTemperature::hasDeltaT_Constant() const { return !entity->getArgument(1)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Constant() const { return *entity->getArgument(1); } void IfcStructuralLoadTemperature::setDeltaT_Constant(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadTemperature::hasDeltaT_Y() { return !entity->getArgument(2)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Y() { return *entity->getArgument(2); } +bool IfcStructuralLoadTemperature::hasDeltaT_Y() const { return !entity->getArgument(2)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Y() const { return *entity->getArgument(2); } void IfcStructuralLoadTemperature::setDeltaT_Y(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadTemperature::hasDeltaT_Z() { return !entity->getArgument(3)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Z() { return *entity->getArgument(3); } +bool IfcStructuralLoadTemperature::hasDeltaT_Z() const { return !entity->getArgument(3)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Z() const { return *entity->getArgument(3); } void IfcStructuralLoadTemperature::setDeltaT_Z(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadTemperature::is(Type::Enum v) const { return v == Type::IfcStructuralLoadTemperature || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadTemperature::type() const { return Type::IfcStructuralLoadTemperature; } Type::Enum IfcStructuralLoadTemperature::Class() { return Type::IfcStructuralLoadTemperature; } -IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadTemperature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaT_Constant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaT_Y, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaT_Z) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaT_Constant) { e->setArgument(1,(*v2_DeltaT_Constant)); } else { e->setArgument(1); } if (v3_DeltaT_Y) { e->setArgument(2,(*v3_DeltaT_Y)); } else { e->setArgument(2); } if (v4_DeltaT_Z) { e->setArgument(3,(*v4_DeltaT_Z)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadTemperature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaT_Constant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaT_Y, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaT_Z) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaT_Constant) { e->setArgument(1,(*v2_DeltaT_Constant)); } else { e->setArgument(1); } if (v3_DeltaT_Y) { e->setArgument(2,(*v3_DeltaT_Y)); } else { e->setArgument(2); } if (v4_DeltaT_Z) { e->setArgument(3,(*v4_DeltaT_Z)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralMember -IfcRelConnectsStructuralElement::list IfcStructuralMember::ReferencesElement() { RETURN_INVERSE(IfcRelConnectsStructuralElement) } -IfcRelConnectsStructuralMember::list IfcStructuralMember::ConnectedBy() { RETURN_INVERSE(IfcRelConnectsStructuralMember) } +IfcRelConnectsStructuralElement::list::ptr IfcStructuralMember::ReferencesElement() const { return entity->getInverse(Type::IfcRelConnectsStructuralElement)->as(); } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember)->as(); } bool IfcStructuralMember::is(Type::Enum v) const { return v == Type::IfcStructuralMember || IfcStructuralItem::is(v); } Type::Enum IfcStructuralMember::type() const { return Type::IfcStructuralMember; } Type::Enum IfcStructuralMember::Class() { return Type::IfcStructuralMember; } -IfcStructuralMember::IfcStructuralMember(IfcAbstractEntityPtr e) : IfcStructuralItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralMember::IfcStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralMember::IfcStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarAction -IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralPlanarAction::ProjectedOrTrue() { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarActionVarying -IfcShapeAspect* IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(12))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() { RETURN_AS_LIST(IfcStructuralLoad,13) } -void IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcStructuralPlanarAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointAction::IfcStructuralPointAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPointAction::IfcStructuralPointAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointConnection::IfcStructuralPointConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPointConnection::IfcStructuralPointConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointReaction::IfcStructuralPointReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPointReaction::IfcStructuralPointReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralProfileProperties -bool IfcStructuralProfileProperties::hasTorsionalConstantX() { return !entity->getArgument(7)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::TorsionalConstantX() { return *entity->getArgument(7); } +bool IfcStructuralProfileProperties::hasTorsionalConstantX() const { return !entity->getArgument(7)->isNull(); } +IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::TorsionalConstantX() const { return *entity->getArgument(7); } void IfcStructuralProfileProperties::setTorsionalConstantX(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcStructuralProfileProperties::hasMomentOfInertiaYZ() { return !entity->getArgument(8)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaYZ() { return *entity->getArgument(8); } +bool IfcStructuralProfileProperties::hasMomentOfInertiaYZ() const { return !entity->getArgument(8)->isNull(); } +IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaYZ() const { return *entity->getArgument(8); } void IfcStructuralProfileProperties::setMomentOfInertiaYZ(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStructuralProfileProperties::hasMomentOfInertiaY() { return !entity->getArgument(9)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaY() { return *entity->getArgument(9); } +bool IfcStructuralProfileProperties::hasMomentOfInertiaY() const { return !entity->getArgument(9)->isNull(); } +IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaY() const { return *entity->getArgument(9); } void IfcStructuralProfileProperties::setMomentOfInertiaY(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcStructuralProfileProperties::hasMomentOfInertiaZ() { return !entity->getArgument(10)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaZ() { return *entity->getArgument(10); } +bool IfcStructuralProfileProperties::hasMomentOfInertiaZ() const { return !entity->getArgument(10)->isNull(); } +IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaZ() const { return *entity->getArgument(10); } void IfcStructuralProfileProperties::setMomentOfInertiaZ(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcStructuralProfileProperties::hasWarpingConstant() { return !entity->getArgument(11)->isNull(); } -IfcWarpingConstantMeasure IfcStructuralProfileProperties::WarpingConstant() { return *entity->getArgument(11); } +bool IfcStructuralProfileProperties::hasWarpingConstant() const { return !entity->getArgument(11)->isNull(); } +IfcWarpingConstantMeasure IfcStructuralProfileProperties::WarpingConstant() const { return *entity->getArgument(11); } void IfcStructuralProfileProperties::setWarpingConstant(IfcWarpingConstantMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcStructuralProfileProperties::hasShearCentreZ() { return !entity->getArgument(12)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::ShearCentreZ() { return *entity->getArgument(12); } +bool IfcStructuralProfileProperties::hasShearCentreZ() const { return !entity->getArgument(12)->isNull(); } +IfcLengthMeasure IfcStructuralProfileProperties::ShearCentreZ() const { return *entity->getArgument(12); } void IfcStructuralProfileProperties::setShearCentreZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcStructuralProfileProperties::hasShearCentreY() { return !entity->getArgument(13)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::ShearCentreY() { return *entity->getArgument(13); } +bool IfcStructuralProfileProperties::hasShearCentreY() const { return !entity->getArgument(13)->isNull(); } +IfcLengthMeasure IfcStructuralProfileProperties::ShearCentreY() const { return *entity->getArgument(13); } void IfcStructuralProfileProperties::setShearCentreY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcStructuralProfileProperties::hasShearDeformationAreaZ() { return !entity->getArgument(14)->isNull(); } -IfcAreaMeasure IfcStructuralProfileProperties::ShearDeformationAreaZ() { return *entity->getArgument(14); } +bool IfcStructuralProfileProperties::hasShearDeformationAreaZ() const { return !entity->getArgument(14)->isNull(); } +IfcAreaMeasure IfcStructuralProfileProperties::ShearDeformationAreaZ() const { return *entity->getArgument(14); } void IfcStructuralProfileProperties::setShearDeformationAreaZ(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcStructuralProfileProperties::hasShearDeformationAreaY() { return !entity->getArgument(15)->isNull(); } -IfcAreaMeasure IfcStructuralProfileProperties::ShearDeformationAreaY() { return *entity->getArgument(15); } +bool IfcStructuralProfileProperties::hasShearDeformationAreaY() const { return !entity->getArgument(15)->isNull(); } +IfcAreaMeasure IfcStructuralProfileProperties::ShearDeformationAreaY() const { return *entity->getArgument(15); } void IfcStructuralProfileProperties::setShearDeformationAreaY(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcStructuralProfileProperties::hasMaximumSectionModulusY() { return !entity->getArgument(16)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MaximumSectionModulusY() { return *entity->getArgument(16); } +bool IfcStructuralProfileProperties::hasMaximumSectionModulusY() const { return !entity->getArgument(16)->isNull(); } +IfcSectionModulusMeasure IfcStructuralProfileProperties::MaximumSectionModulusY() const { return *entity->getArgument(16); } void IfcStructuralProfileProperties::setMaximumSectionModulusY(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcStructuralProfileProperties::hasMinimumSectionModulusY() { return !entity->getArgument(17)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MinimumSectionModulusY() { return *entity->getArgument(17); } +bool IfcStructuralProfileProperties::hasMinimumSectionModulusY() const { return !entity->getArgument(17)->isNull(); } +IfcSectionModulusMeasure IfcStructuralProfileProperties::MinimumSectionModulusY() const { return *entity->getArgument(17); } void IfcStructuralProfileProperties::setMinimumSectionModulusY(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcStructuralProfileProperties::hasMaximumSectionModulusZ() { return !entity->getArgument(18)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MaximumSectionModulusZ() { return *entity->getArgument(18); } +bool IfcStructuralProfileProperties::hasMaximumSectionModulusZ() const { return !entity->getArgument(18)->isNull(); } +IfcSectionModulusMeasure IfcStructuralProfileProperties::MaximumSectionModulusZ() const { return *entity->getArgument(18); } void IfcStructuralProfileProperties::setMaximumSectionModulusZ(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcStructuralProfileProperties::hasMinimumSectionModulusZ() { return !entity->getArgument(19)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MinimumSectionModulusZ() { return *entity->getArgument(19); } +bool IfcStructuralProfileProperties::hasMinimumSectionModulusZ() const { return !entity->getArgument(19)->isNull(); } +IfcSectionModulusMeasure IfcStructuralProfileProperties::MinimumSectionModulusZ() const { return *entity->getArgument(19); } void IfcStructuralProfileProperties::setMinimumSectionModulusZ(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } -bool IfcStructuralProfileProperties::hasTorsionalSectionModulus() { return !entity->getArgument(20)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::TorsionalSectionModulus() { return *entity->getArgument(20); } +bool IfcStructuralProfileProperties::hasTorsionalSectionModulus() const { return !entity->getArgument(20)->isNull(); } +IfcSectionModulusMeasure IfcStructuralProfileProperties::TorsionalSectionModulus() const { return *entity->getArgument(20); } void IfcStructuralProfileProperties::setTorsionalSectionModulus(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } -bool IfcStructuralProfileProperties::hasCentreOfGravityInX() { return !entity->getArgument(21)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::CentreOfGravityInX() { return *entity->getArgument(21); } +bool IfcStructuralProfileProperties::hasCentreOfGravityInX() const { return !entity->getArgument(21)->isNull(); } +IfcLengthMeasure IfcStructuralProfileProperties::CentreOfGravityInX() const { return *entity->getArgument(21); } void IfcStructuralProfileProperties::setCentreOfGravityInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } -bool IfcStructuralProfileProperties::hasCentreOfGravityInY() { return !entity->getArgument(22)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::CentreOfGravityInY() { return *entity->getArgument(22); } +bool IfcStructuralProfileProperties::hasCentreOfGravityInY() const { return !entity->getArgument(22)->isNull(); } +IfcLengthMeasure IfcStructuralProfileProperties::CentreOfGravityInY() const { return *entity->getArgument(22); } void IfcStructuralProfileProperties::setCentreOfGravityInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } 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(IfcAbstractEntityPtr e) : IfcGeneralProfileProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY) : IfcGeneralProfileProperties((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralReaction -IfcStructuralAction::list IfcStructuralReaction::Causes() { RETURN_INVERSE(IfcStructuralAction) } +IfcStructuralAction::list::ptr IfcStructuralReaction::Causes() const { return entity->getInverse(Type::IfcStructuralAction)->as(); } 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(IfcAbstractEntityPtr e) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralReaction::IfcStructuralReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralReaction::IfcStructuralReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralResultGroup -IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcStructuralResultGroup::TheoryType() { return IfcAnalysisTheoryTypeEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcStructuralLoadGroup* IfcStructuralResultGroup::ResultForLoadGroup() { return (IfcStructuralLoadGroup*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -bool IfcStructuralResultGroup::IsLinear() { return *entity->getArgument(7); } +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); } -IfcStructuralAnalysisModel::list IfcStructuralResultGroup::ResultGroupFor() { RETURN_INVERSE(IfcStructuralAnalysisModel) } +IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel)->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(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralResultGroup::IfcStructuralResultGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralResultGroup::IfcStructuralResultGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSteelProfileProperties -bool IfcStructuralSteelProfileProperties::hasShearAreaZ() { return !entity->getArgument(23)->isNull(); } -IfcAreaMeasure IfcStructuralSteelProfileProperties::ShearAreaZ() { return *entity->getArgument(23); } +bool IfcStructuralSteelProfileProperties::hasShearAreaZ() const { return !entity->getArgument(23)->isNull(); } +IfcAreaMeasure IfcStructuralSteelProfileProperties::ShearAreaZ() const { return *entity->getArgument(23); } void IfcStructuralSteelProfileProperties::setShearAreaZ(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(23,v); } -bool IfcStructuralSteelProfileProperties::hasShearAreaY() { return !entity->getArgument(24)->isNull(); } -IfcAreaMeasure IfcStructuralSteelProfileProperties::ShearAreaY() { return *entity->getArgument(24); } +bool IfcStructuralSteelProfileProperties::hasShearAreaY() const { return !entity->getArgument(24)->isNull(); } +IfcAreaMeasure IfcStructuralSteelProfileProperties::ShearAreaY() const { return *entity->getArgument(24); } void IfcStructuralSteelProfileProperties::setShearAreaY(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(24,v); } -bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorY() { return !entity->getArgument(25)->isNull(); } -IfcPositiveRatioMeasure IfcStructuralSteelProfileProperties::PlasticShapeFactorY() { return *entity->getArgument(25); } +bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorY() const { return !entity->getArgument(25)->isNull(); } +IfcPositiveRatioMeasure IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { return *entity->getArgument(25); } void IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(25,v); } -bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorZ() { return !entity->getArgument(26)->isNull(); } -IfcPositiveRatioMeasure IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() { return *entity->getArgument(26); } +bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorZ() const { return !entity->getArgument(26)->isNull(); } +IfcPositiveRatioMeasure IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { return *entity->getArgument(26); } void IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(26,v); } 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(IfcAbstractEntityPtr e) : IfcStructuralProfileProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSteelProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY, boost::optional< IfcAreaMeasure > v24_ShearAreaZ, boost::optional< IfcAreaMeasure > v25_ShearAreaY, boost::optional< IfcPositiveRatioMeasure > v26_PlasticShapeFactorY, boost::optional< IfcPositiveRatioMeasure > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSteelProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY, boost::optional< IfcAreaMeasure > v24_ShearAreaZ, boost::optional< IfcAreaMeasure > v25_ShearAreaY, boost::optional< IfcPositiveRatioMeasure > v26_PlasticShapeFactorY, boost::optional< IfcPositiveRatioMeasure > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } if (v24_ShearAreaZ) { e->setArgument(23,(*v24_ShearAreaZ)); } else { e->setArgument(23); } if (v25_ShearAreaY) { e->setArgument(24,(*v25_ShearAreaY)); } else { e->setArgument(24); } if (v26_PlasticShapeFactorY) { e->setArgument(25,(*v26_PlasticShapeFactorY)); } else { e->setArgument(25); } if (v27_PlasticShapeFactorZ) { e->setArgument(26,(*v27_PlasticShapeFactorZ)); } else { e->setArgument(26); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMember -IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum IfcStructuralSurfaceMember::PredefinedType() { return IfcStructuralSurfaceTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcStructuralSurfaceMember::Thickness() { return *entity->getArgument(8); } +bool IfcStructuralSurfaceMember::hasThickness() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } void IfcStructuralSurfaceMember::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcStructuralMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMemberVarying -std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() { return *entity->getArgument(9); } +std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { return *entity->getArgument(9); } void IfcStructuralSurfaceMemberVarying::setSubsequentThickness(std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcShapeAspect* IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +IfcShapeAspect* IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } void IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcStructuralSurfaceMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMemberVarying || IfcStructuralSurfaceMember::is(v); } Type::Enum IfcStructuralSurfaceMemberVarying::type() const { return Type::IfcStructuralSurfaceMemberVarying; } Type::Enum IfcStructuralSurfaceMemberVarying::Class() { return Type::IfcStructuralSurfaceMemberVarying; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcAbstractEntityPtr e) : IfcStructuralSurfaceMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness, std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness, std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } e->setArgument(9,(v10_SubsequentThickness)); e->setArgument(10,(v11_VaryingThicknessLocation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuredDimensionCallout bool IfcStructuredDimensionCallout::is(Type::Enum v) const { return v == Type::IfcStructuredDimensionCallout || IfcDraughtingCallout::is(v); } Type::Enum IfcStructuredDimensionCallout::type() const { return Type::IfcStructuredDimensionCallout; } Type::Enum IfcStructuredDimensionCallout::Class() { return Type::IfcStructuredDimensionCallout; } -IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcAbstractEntityPtr e) : IfcDraughtingCallout((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuredDimensionCallout)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcEntities v1_Contents) : IfcDraughtingCallout((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } +IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcAbstractEntity* e) : IfcDraughtingCallout((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuredDimensionCallout)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcEntityList::ptr v1_Contents) : IfcDraughtingCallout((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Contents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyleModel bool IfcStyleModel::is(Type::Enum v) const { return v == Type::IfcStyleModel || IfcRepresentation::is(v); } Type::Enum IfcStyleModel::type() const { return Type::IfcStyleModel; } Type::Enum IfcStyleModel::Class() { return Type::IfcStyleModel; } -IfcStyleModel::IfcStyleModel(IfcAbstractEntityPtr e) : IfcRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStyleModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyleModel::IfcStyleModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyleModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledItem -bool IfcStyledItem::hasItem() { return !entity->getArgument(0)->isNull(); } -IfcRepresentationItem* IfcStyledItem::Item() { return (IfcRepresentationItem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > IfcStyledItem::Styles() { RETURN_AS_LIST(IfcPresentationStyleAssignment,1) } -void IfcStyledItem::setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcStyledItem::hasName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcStyledItem::Name() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr IfcStyledItem::Styles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcStyledItem::setStyles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcStyledItem::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcStyledItem::Name() const { return *entity->getArgument(2); } void IfcStyledItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcRepresentationItem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledRepresentation bool IfcStyledRepresentation::is(Type::Enum v) const { return v == Type::IfcStyledRepresentation || IfcStyleModel::is(v); } Type::Enum IfcStyledRepresentation::type() const { return Type::IfcStyledRepresentation; } Type::Enum IfcStyledRepresentation::Class() { return Type::IfcStyledRepresentation; } -IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntityPtr e) : IfcStyleModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStyledRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcStyleModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntity* e) : IfcStyleModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResource -bool IfcSubContractResource::hasSubContractor() { return !entity->getArgument(9)->isNull(); } -IfcActorSelect IfcSubContractResource::SubContractor() { return *entity->getArgument(9); } +bool IfcSubContractResource::hasSubContractor() const { return !entity->getArgument(9)->isNull(); } +IfcActorSelect IfcSubContractResource::SubContractor() const { return *entity->getArgument(9); } void IfcSubContractResource::setSubContractor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSubContractResource::hasJobDescription() { return !entity->getArgument(10)->isNull(); } -IfcText IfcSubContractResource::JobDescription() { return *entity->getArgument(10); } +bool IfcSubContractResource::hasJobDescription() const { return !entity->getArgument(10)->isNull(); } +IfcText IfcSubContractResource::JobDescription() const { return *entity->getArgument(10); } void IfcSubContractResource::setJobDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResource::IfcSubContractResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcActorSelect > v10_SubContractor, boost::optional< IfcText > v11_JobDescription) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SubContractor) { e->setArgument(9,(*v10_SubContractor)); } else { e->setArgument(9); } if (v11_JobDescription) { e->setArgument(10,(*v11_JobDescription)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSubContractResource::IfcSubContractResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSubContractResource::IfcSubContractResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcActorSelect > v10_SubContractor, boost::optional< IfcText > v11_JobDescription) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SubContractor) { e->setArgument(9,(*v10_SubContractor)); } else { e->setArgument(9); } if (v11_JobDescription) { e->setArgument(10,(*v11_JobDescription)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubedge -IfcEdge* IfcSubedge::ParentEdge() { return (IfcEdge*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcSubedge::IfcSubedge(IfcAbstractEntityPtr e) : IfcEdge((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSubedge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubedge::IfcSubedge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcEdge* v3_ParentEdge) : IfcEdge((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); e->setArgument(2,(v3_ParentEdge)); entity = e; EntityBuffer::Add(this); } +IfcSubedge::IfcSubedge(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubedge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSubedge::IfcSubedge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcEdge* v3_ParentEdge) : IfcEdge((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); e->setArgument(2,(v3_ParentEdge)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurface bool IfcSurface::is(Type::Enum v) const { return v == Type::IfcSurface || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSurface::type() const { return Type::IfcSurface; } Type::Enum IfcSurface::Class() { return Type::IfcSurface; } -IfcSurface::IfcSurface(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcSurface::IfcSurface(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceCurveSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::StartParam() { return *entity->getArgument(3); } +IfcParameterValue IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } void IfcSurfaceCurveSweptAreaSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::EndParam() { return *entity->getArgument(4); } +IfcParameterValue IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } void IfcSurfaceCurveSweptAreaSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSurfaceCurveSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSurfaceCurveSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcSurfaceCurveSweptAreaSolid::type() const { return Type::IfcSurfaceCurveSweptAreaSolid; } Type::Enum IfcSurfaceCurveSweptAreaSolid::Class() { return Type::IfcSurfaceCurveSweptAreaSolid; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfLinearExtrusion -IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceOfLinearExtrusion::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLengthMeasure IfcSurfaceOfLinearExtrusion::Depth() { return *entity->getArgument(3); } +IfcLengthMeasure IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } void IfcSurfaceOfLinearExtrusion::setDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSweptSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth) : IfcSweptSurface((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfRevolution -IfcAxis1Placement* IfcSurfaceOfRevolution::AxisPosition() { return (IfcAxis1Placement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSweptSurface((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcSurfaceStyle -IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } +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)); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcSurfaceStyle::Styles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcSurfaceStyle::setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcSurfaceStyle::Styles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcSurfaceStyle::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcSurfaceStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSurfaceStyle::type() const { return Type::IfcSurfaceStyle; } Type::Enum IfcSurfaceStyle::Class() { return Type::IfcSurfaceStyle; } -IfcSurfaceStyle::IfcSurfaceStyle(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntities v3_Styles) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyle::IfcSurfaceStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleLighting -IfcColourRgb* IfcSurfaceStyleLighting::DiffuseTransmissionColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcColourRgb* IfcSurfaceStyleLighting::DiffuseReflectionColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -IfcColourRgb* IfcSurfaceStyleLighting::TransmissionColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcColourRgb* IfcSurfaceStyleLighting::ReflectanceColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleLighting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleLighting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } 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() { return !entity->getArgument(0)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::RefractionIndex() { return *entity->getArgument(0); } +bool IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !entity->getArgument(0)->isNull(); } +IfcReal IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } void IfcSurfaceStyleRefraction::setRefractionIndex(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSurfaceStyleRefraction::hasDispersionFactor() { return !entity->getArgument(1)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::DispersionFactor() { return *entity->getArgument(1); } +bool IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !entity->getArgument(1)->isNull(); } +IfcReal IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } void IfcSurfaceStyleRefraction::setDispersionFactor(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceStyleRefraction::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::type() const { return Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::Class() { return Type::IfcSurfaceStyleRefraction; } -IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRefraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRefraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRendering -bool IfcSurfaceStyleRendering::hasTransparency() { return !entity->getArgument(1)->isNull(); } -IfcNormalisedRatioMeasure IfcSurfaceStyleRendering::Transparency() { return *entity->getArgument(1); } +bool IfcSurfaceStyleRendering::hasTransparency() const { return !entity->getArgument(1)->isNull(); } +IfcNormalisedRatioMeasure IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } void IfcSurfaceStyleRendering::setTransparency(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceStyleRendering::hasDiffuseColour() { return !entity->getArgument(2)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseColour() { return *entity->getArgument(2); } +bool IfcSurfaceStyleRendering::hasDiffuseColour() const { return !entity->getArgument(2)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseColour() const { return *entity->getArgument(2); } void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceStyleRendering::hasTransmissionColour() { return !entity->getArgument(3)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::TransmissionColour() { return *entity->getArgument(3); } +bool IfcSurfaceStyleRendering::hasTransmissionColour() const { return !entity->getArgument(3)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::TransmissionColour() const { return *entity->getArgument(3); } void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() { return !entity->getArgument(4)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseTransmissionColour() { return *entity->getArgument(4); } +bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !entity->getArgument(4)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return *entity->getArgument(4); } void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcSurfaceStyleRendering::hasReflectionColour() { return !entity->getArgument(5)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::ReflectionColour() { return *entity->getArgument(5); } +bool IfcSurfaceStyleRendering::hasReflectionColour() const { return !entity->getArgument(5)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::ReflectionColour() const { return *entity->getArgument(5); } void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSurfaceStyleRendering::hasSpecularColour() { return !entity->getArgument(6)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::SpecularColour() { return *entity->getArgument(6); } +bool IfcSurfaceStyleRendering::hasSpecularColour() const { return !entity->getArgument(6)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::SpecularColour() const { return *entity->getArgument(6); } void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSurfaceStyleRendering::hasSpecularHighlight() { return !entity->getArgument(7)->isNull(); } -IfcSpecularHighlightSelect IfcSurfaceStyleRendering::SpecularHighlight() { return *entity->getArgument(7); } +bool IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !entity->getArgument(7)->isNull(); } +IfcSpecularHighlightSelect IfcSurfaceStyleRendering::SpecularHighlight() const { return *entity->getArgument(7); } void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } +IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() const { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } void IfcSurfaceStyleRendering::setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v)); } bool IfcSurfaceStyleRendering::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRendering || IfcSurfaceStyleShading::is(v); } Type::Enum IfcSurfaceStyleRendering::type() const { return Type::IfcSurfaceStyleRendering; } Type::Enum IfcSurfaceStyleRendering::Class() { return Type::IfcSurfaceStyleRendering; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntityPtr e) : IfcSurfaceStyleShading((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntity* e) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleShading -IfcColourRgb* IfcSurfaceStyleShading::SurfaceColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleShading)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleShading)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcColourRgb* v1_SurfaceColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleWithTextures -SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > IfcSurfaceStyleWithTextures::Textures() { RETURN_AS_LIST(IfcSurfaceTexture,0) } -void IfcSurfaceStyleWithTextures::setTextures(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleWithTextures)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Textures) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Textures)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleWithTextures)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Textures) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Textures)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceTexture -bool IfcSurfaceTexture::RepeatS() { return *entity->getArgument(0); } +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); } -bool IfcSurfaceTexture::RepeatT() { return *entity->getArgument(1); } +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); } -IfcSurfaceTextureEnum::IfcSurfaceTextureEnum IfcSurfaceTexture::TextureType() { return IfcSurfaceTextureEnum::FromString(*entity->getArgument(2)); } +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() { return !entity->getArgument(3)->isNull(); } -IfcCartesianTransformationOperator2D* IfcSurfaceTexture::TextureTransform() { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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::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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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); } // Function implementations for IfcSweptAreaSolid -IfcProfileDef* IfcSweptAreaSolid::SweptArea() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcAxis2Placement3D* IfcSweptAreaSolid::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcSweptDiskSolid -IfcCurve* IfcSweptDiskSolid::Directrix() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcSweptDiskSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcSweptDiskSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } void IfcSweptDiskSolid::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSweptDiskSolid::hasInnerRadius() { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::InnerRadius() { return *entity->getArgument(2); } +bool IfcSweptDiskSolid::hasInnerRadius() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveLengthMeasure IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } void IfcSweptDiskSolid::setInnerRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcSweptDiskSolid::StartParam() { return *entity->getArgument(3); } +IfcParameterValue IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } void IfcSweptDiskSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcSweptDiskSolid::EndParam() { return *entity->getArgument(4); } +IfcParameterValue IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } void IfcSweptDiskSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSweptDiskSolid::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptDiskSolid::type() const { return Type::IfcSweptDiskSolid; } Type::Enum IfcSweptDiskSolid::Class() { return Type::IfcSweptDiskSolid; } -IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam) : IfcSolidModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); entity = e; EntityBuffer::Add(this); } +IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptSurface -IfcProfileDef* IfcSweptSurface::SweptCurve() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcAxis2Placement3D* IfcSweptSurface::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSurface((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcSwitchingDeviceType -IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDeviceType::PredefinedType() { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSymbolStyle -IfcSymbolStyleSelect IfcSymbolStyle::StyleOfSymbol() { return *entity->getArgument(1); } +IfcSymbolStyleSelect IfcSymbolStyle::StyleOfSymbol() const { return *entity->getArgument(1); } void IfcSymbolStyle::setStyleOfSymbol(IfcSymbolStyleSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSymbolStyle::is(Type::Enum v) const { return v == Type::IfcSymbolStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSymbolStyle::type() const { return Type::IfcSymbolStyle; } Type::Enum IfcSymbolStyle::Class() { return Type::IfcSymbolStyle; } -IfcSymbolStyle::IfcSymbolStyle(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSymbolStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSymbolStyle::IfcSymbolStyle(boost::optional< IfcLabel > v1_Name, IfcSymbolStyleSelect v2_StyleOfSymbol) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_StyleOfSymbol)); entity = e; EntityBuffer::Add(this); } +IfcSymbolStyle::IfcSymbolStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSymbolStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSymbolStyle::IfcSymbolStyle(boost::optional< IfcLabel > v1_Name, IfcSymbolStyleSelect v2_StyleOfSymbol) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_StyleOfSymbol)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystem -IfcRelServicesBuildings::list IfcSystem::ServicesBuildings() { RETURN_INVERSE(IfcRelServicesBuildings) } +IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } bool IfcSystem::is(Type::Enum v) const { return v == Type::IfcSystem || IfcGroup::is(v); } Type::Enum IfcSystem::type() const { return Type::IfcSystem; } Type::Enum IfcSystem::Class() { return Type::IfcSystem; } -IfcSystem::IfcSystem(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystem::IfcSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } 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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSystem::IfcSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElementType bool IfcSystemFurnitureElementType::is(Type::Enum v) const { return v == Type::IfcSystemFurnitureElementType || IfcFurnishingElementType::is(v); } Type::Enum IfcSystemFurnitureElementType::type() const { return Type::IfcSystemFurnitureElementType; } Type::Enum IfcSystemFurnitureElementType::Class() { return Type::IfcSystemFurnitureElementType; } -IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcAbstractEntityPtr e) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTShapeProfileDef -IfcPositiveLengthMeasure IfcTShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcTShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } void IfcTShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcTShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcTShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcTShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcTShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTShapeProfileDef::hasFlangeEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeEdgeRadius() { return *entity->getArgument(8); } +bool IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } void IfcTShapeProfileDef::setFlangeEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTShapeProfileDef::hasWebEdgeRadius() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::WebEdgeRadius() { return *entity->getArgument(9); } +bool IfcTShapeProfileDef::hasWebEdgeRadius() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } void IfcTShapeProfileDef::setWebEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTShapeProfileDef::hasWebSlope() { return !entity->getArgument(10)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::WebSlope() { return *entity->getArgument(10); } +bool IfcTShapeProfileDef::hasWebSlope() const { return !entity->getArgument(10)->isNull(); } +IfcPlaneAngleMeasure IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } void IfcTShapeProfileDef::setWebSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTShapeProfileDef::hasFlangeSlope() { return !entity->getArgument(11)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::FlangeSlope() { return *entity->getArgument(11); } +bool IfcTShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(11)->isNull(); } +IfcPlaneAngleMeasure IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } void IfcTShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTShapeProfileDef::hasCentreOfGravityInY() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::CentreOfGravityInY() { return *entity->getArgument(12); } +bool IfcTShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(12); } void IfcTShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPositiveLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v13_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } if (v13_CentreOfGravityInY) { e->setArgument(12,(*v13_CentreOfGravityInY)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcTShapeProfileDef::IfcTShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPositiveLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v13_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } if (v13_CentreOfGravityInY) { e->setArgument(12,(*v13_CentreOfGravityInY)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTable -std::string IfcTable::Name() { return *entity->getArgument(0); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > IfcTable::Rows() { RETURN_AS_LIST(IfcTableRow,1) } -void IfcTable::setRows(SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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::is(Type::Enum v) const { return v == Type::IfcTable; } Type::Enum IfcTable::type() const { return Type::IfcTable; } Type::Enum IfcTable::Class() { return Type::IfcTable; } -IfcTable::IfcTable(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTable)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTable::IfcTable(std::string v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > v2_Rows) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_Rows)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTable::IfcTable(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTable)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTable::IfcTable(std::string v1_Name, IfcTemplatedEntityList< IfcTableRow >::ptr v2_Rows) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_Rows)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableRow -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTableRow::RowCells() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcTableRow::setRowCells(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcTableRow::IsHeading() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTableRow::RowCells() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcTableRow::setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTable::list IfcTableRow::OfTable() { RETURN_INVERSE(IfcTable) } +IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable)->as(); } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } Type::Enum IfcTableRow::type() const { return Type::IfcTableRow; } Type::Enum IfcTableRow::Class() { return Type::IfcTableRow; } -IfcTableRow::IfcTableRow(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableRow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTableRow::IfcTableRow(IfcEntities v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RowCells)); e->setArgument(1,(v2_IsHeading)); entity = e; EntityBuffer::Add(this); } +IfcTableRow::IfcTableRow(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableRow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTableRow::IfcTableRow(IfcEntityList::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RowCells)); e->setArgument(1,(v2_IsHeading)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTankType -IfcTankTypeEnum::IfcTankTypeEnum IfcTankType::PredefinedType() { return IfcTankTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTankType::IfcTankType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTankType::IfcTankType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTask -IfcIdentifier IfcTask::TaskId() { return *entity->getArgument(5); } +IfcIdentifier IfcTask::TaskId() const { return *entity->getArgument(5); } void IfcTask::setTaskId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTask::hasStatus() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcTask::Status() { return *entity->getArgument(6); } +bool IfcTask::hasStatus() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcTask::Status() const { return *entity->getArgument(6); } void IfcTask::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTask::hasWorkMethod() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTask::WorkMethod() { return *entity->getArgument(7); } +bool IfcTask::hasWorkMethod() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcTask::WorkMethod() const { return *entity->getArgument(7); } void IfcTask::setWorkMethod(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTask::IsMilestone() { return *entity->getArgument(8); } +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() { return !entity->getArgument(9)->isNull(); } -int IfcTask::Priority() { return *entity->getArgument(9); } +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); } 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(IfcAbstractEntityPtr e) : IfcProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTask::IfcTask(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcTask::IfcTask(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTask::IfcTask(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTelecomAddress -bool IfcTelecomAddress::hasTelephoneNumbers() { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() { return *entity->getArgument(3); } +bool IfcTelecomAddress::hasTelephoneNumbers() const { return !entity->getArgument(3)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } void IfcTelecomAddress::setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTelecomAddress::hasFacsimileNumbers() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() { return *entity->getArgument(4); } +bool IfcTelecomAddress::hasFacsimileNumbers() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } void IfcTelecomAddress::setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTelecomAddress::hasPagerNumber() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcTelecomAddress::PagerNumber() { return *entity->getArgument(5); } +bool IfcTelecomAddress::hasPagerNumber() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } void IfcTelecomAddress::setPagerNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTelecomAddress::hasElectronicMailAddresses() { return !entity->getArgument(6)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() { return *entity->getArgument(6); } +bool IfcTelecomAddress::hasElectronicMailAddresses() const { return !entity->getArgument(6)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } void IfcTelecomAddress::setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTelecomAddress::hasWWWHomePageURL() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTelecomAddress::WWWHomePageURL() { return *entity->getArgument(7); } +bool IfcTelecomAddress::hasWWWHomePageURL() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } void IfcTelecomAddress::setWWWHomePageURL(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } Type::Enum IfcTelecomAddress::type() const { return Type::IfcTelecomAddress; } Type::Enum IfcTelecomAddress::Class() { return Type::IfcTelecomAddress; } -IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntityPtr e) : IfcAddress((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTelecomAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcLabel > v8_WWWHomePageURL) : IfcAddress((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTelecomAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcLabel > v8_WWWHomePageURL) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendon -IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } +IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } void IfcTendon::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } -IfcPositiveLengthMeasure IfcTendon::NominalDiameter() { return *entity->getArgument(10); } +IfcPositiveLengthMeasure IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } void IfcTendon::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcAreaMeasure IfcTendon::CrossSectionArea() { return *entity->getArgument(11); } +IfcAreaMeasure IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } void IfcTendon::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTendon::hasTensionForce() { return !entity->getArgument(12)->isNull(); } -IfcForceMeasure IfcTendon::TensionForce() { return *entity->getArgument(12); } +bool IfcTendon::hasTensionForce() const { return !entity->getArgument(12)->isNull(); } +IfcForceMeasure IfcTendon::TensionForce() const { return *entity->getArgument(12); } void IfcTendon::setTensionForce(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcTendon::hasPreStress() { return !entity->getArgument(13)->isNull(); } -IfcPressureMeasure IfcTendon::PreStress() { return *entity->getArgument(13); } +bool IfcTendon::hasPreStress() const { return !entity->getArgument(13)->isNull(); } +IfcPressureMeasure IfcTendon::PreStress() const { return *entity->getArgument(13); } void IfcTendon::setPreStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcTendon::hasFrictionCoefficient() { return !entity->getArgument(14)->isNull(); } -IfcNormalisedRatioMeasure IfcTendon::FrictionCoefficient() { return *entity->getArgument(14); } +bool IfcTendon::hasFrictionCoefficient() const { return !entity->getArgument(14)->isNull(); } +IfcNormalisedRatioMeasure IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } void IfcTendon::setFrictionCoefficient(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcTendon::hasAnchorageSlip() { return !entity->getArgument(15)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::AnchorageSlip() { return *entity->getArgument(15); } +bool IfcTendon::hasAnchorageSlip() const { return !entity->getArgument(15)->isNull(); } +IfcPositiveLengthMeasure IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } void IfcTendon::setAnchorageSlip(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcTendon::hasMinCurvatureRadius() { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::MinCurvatureRadius() { return *entity->getArgument(16); } +bool IfcTendon::hasMinCurvatureRadius() const { return !entity->getArgument(16)->isNull(); } +IfcPositiveLengthMeasure IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } void IfcTendon::setMinCurvatureRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendon::IfcTendon(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, IfcPositiveLengthMeasure v11_NominalDiameter, IfcAreaMeasure v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTendon::IfcTendon(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, IfcPositiveLengthMeasure v11_NominalDiameter, IfcAreaMeasure v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,(v11_NominalDiameter)); e->setArgument(11,(v12_CrossSectionArea)); if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchor::IfcTendonAnchor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTendonAnchor::IfcTendonAnchor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTerminatorSymbol -IfcAnnotationCurveOccurrence* IfcTerminatorSymbol::AnnotatedCurve() { return (IfcAnnotationCurveOccurrence*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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(IfcAbstractEntityPtr e) : IfcAnnotationSymbolOccurrence((IfcAbstractEntityPtr)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, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTerminatorSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTerminatorSymbol::IfcTerminatorSymbol(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteral -IfcPresentableText IfcTextLiteral::Literal() { return *entity->getArgument(0); } +IfcPresentableText IfcTextLiteral::Literal() const { return *entity->getArgument(0); } void IfcTextLiteral::setLiteral(IfcPresentableText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcTextLiteral::Placement() { return *entity->getArgument(1); } +IfcAxis2Placement IfcTextLiteral::Placement() const { return *entity->getArgument(1); } void IfcTextLiteral::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTextPath::IfcTextPath IfcTextLiteral::Path() { return IfcTextPath::FromString(*entity->getArgument(2)); } +IfcTextPath::IfcTextPath IfcTextLiteral::Path() const { return IfcTextPath::FromString(*entity->getArgument(2)); } void IfcTextLiteral::setPath(IfcTextPath::IfcTextPath v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcTextPath::ToString(v)); } bool IfcTextLiteral::is(Type::Enum v) const { return v == Type::IfcTextLiteral || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTextLiteral::type() const { return Type::IfcTextLiteral; } Type::Enum IfcTextLiteral::Class() { return Type::IfcTextLiteral; } -IfcTextLiteral::IfcTextLiteral(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextLiteral)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteral::IfcTextLiteral(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteral::IfcTextLiteral(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteral)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextLiteral::IfcTextLiteral(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteralWithExtent -IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() { return (IfcPlanarExtent*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() const { return (IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcTextLiteralWithExtent::setExtent(IfcPlanarExtent* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcBoxAlignment IfcTextLiteralWithExtent::BoxAlignment() { return *entity->getArgument(4); } +IfcBoxAlignment IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } void IfcTextLiteralWithExtent::setBoxAlignment(IfcBoxAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextLiteralWithExtent::is(Type::Enum v) const { return v == Type::IfcTextLiteralWithExtent || IfcTextLiteral::is(v); } Type::Enum IfcTextLiteralWithExtent::type() const { return Type::IfcTextLiteralWithExtent; } Type::Enum IfcTextLiteralWithExtent::Class() { return Type::IfcTextLiteralWithExtent; } -IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntityPtr e) : IfcTextLiteral((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextLiteralWithExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntity* e) : IfcTextLiteral((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteralWithExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyle -bool IfcTextStyle::hasTextCharacterAppearance() { return !entity->getArgument(1)->isNull(); } -IfcCharacterStyleSelect IfcTextStyle::TextCharacterAppearance() { return *entity->getArgument(1); } +bool IfcTextStyle::hasTextCharacterAppearance() const { return !entity->getArgument(1)->isNull(); } +IfcCharacterStyleSelect IfcTextStyle::TextCharacterAppearance() const { return *entity->getArgument(1); } void IfcTextStyle::setTextCharacterAppearance(IfcCharacterStyleSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyle::hasTextStyle() { return !entity->getArgument(2)->isNull(); } -IfcTextStyleSelect IfcTextStyle::TextStyle() { return *entity->getArgument(2); } +bool IfcTextStyle::hasTextStyle() const { return !entity->getArgument(2)->isNull(); } +IfcTextStyleSelect IfcTextStyle::TextStyle() const { return *entity->getArgument(2); } void IfcTextStyle::setTextStyle(IfcTextStyleSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcTextFontSelect IfcTextStyle::TextFontStyle() { return *entity->getArgument(3); } +IfcTextFontSelect IfcTextStyle::TextFontStyle() const { return *entity->getArgument(3); } void IfcTextStyle::setTextFontStyle(IfcTextFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyle::IfcTextStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCharacterStyleSelect > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect > v3_TextStyle, IfcTextFontSelect v4_TextFontStyle) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TextCharacterAppearance) { e->setArgument(1,(*v2_TextCharacterAppearance)); } else { e->setArgument(1); } if (v3_TextStyle) { e->setArgument(2,(*v3_TextStyle)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextFontStyle)); entity = e; EntityBuffer::Add(this); } +IfcTextStyle::IfcTextStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyle::IfcTextStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCharacterStyleSelect > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect > v3_TextStyle, IfcTextFontSelect v4_TextFontStyle) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TextCharacterAppearance) { e->setArgument(1,(*v2_TextCharacterAppearance)); } else { e->setArgument(1); } if (v3_TextStyle) { e->setArgument(2,(*v3_TextStyle)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextFontStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleFontModel -bool IfcTextStyleFontModel::hasFontFamily() { return !entity->getArgument(1)->isNull(); } -std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() { return *entity->getArgument(1); } +bool IfcTextStyleFontModel::hasFontFamily() const { return !entity->getArgument(1)->isNull(); } +std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } void IfcTextStyleFontModel::setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleFontModel::hasFontStyle() { return !entity->getArgument(2)->isNull(); } -IfcFontStyle IfcTextStyleFontModel::FontStyle() { return *entity->getArgument(2); } +bool IfcTextStyleFontModel::hasFontStyle() const { return !entity->getArgument(2)->isNull(); } +IfcFontStyle IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } void IfcTextStyleFontModel::setFontStyle(IfcFontStyle v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleFontModel::hasFontVariant() { return !entity->getArgument(3)->isNull(); } -IfcFontVariant IfcTextStyleFontModel::FontVariant() { return *entity->getArgument(3); } +bool IfcTextStyleFontModel::hasFontVariant() const { return !entity->getArgument(3)->isNull(); } +IfcFontVariant IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } void IfcTextStyleFontModel::setFontVariant(IfcFontVariant v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleFontModel::hasFontWeight() { return !entity->getArgument(4)->isNull(); } -IfcFontWeight IfcTextStyleFontModel::FontWeight() { return *entity->getArgument(4); } +bool IfcTextStyleFontModel::hasFontWeight() const { return !entity->getArgument(4)->isNull(); } +IfcFontWeight IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } void IfcTextStyleFontModel::setFontWeight(IfcFontWeight v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcSizeSelect IfcTextStyleFontModel::FontSize() { return *entity->getArgument(5); } +IfcSizeSelect IfcTextStyleFontModel::FontSize() const { return *entity->getArgument(5); } void IfcTextStyleFontModel::setFontSize(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTextStyleFontModel::is(Type::Enum v) const { return v == Type::IfcTextStyleFontModel || IfcPreDefinedTextFont::is(v); } Type::Enum IfcTextStyleFontModel::type() const { return Type::IfcTextStyleFontModel; } Type::Enum IfcTextStyleFontModel::Class() { return Type::IfcTextStyleFontModel; } -IfcTextStyleFontModel::IfcTextStyleFontModel(IfcAbstractEntityPtr e) : IfcPreDefinedTextFont((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextStyleFontModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleFontModel::IfcTextStyleFontModel(IfcLabel v1_Name, boost::optional< std::vector< IfcTextFontName > /*[1:?]*/ > v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_FontFamily) { e->setArgument(1,(*v2_FontFamily)); } else { e->setArgument(1); } if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleFontModel::IfcTextStyleFontModel(IfcAbstractEntity* e) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleFontModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleFontModel::IfcTextStyleFontModel(IfcLabel v1_Name, boost::optional< std::vector< IfcTextFontName > /*[1:?]*/ > v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_FontFamily) { e->setArgument(1,(*v2_FontFamily)); } else { e->setArgument(1); } if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleForDefinedFont -IfcColour IfcTextStyleForDefinedFont::Colour() { return *entity->getArgument(0); } +IfcColour IfcTextStyleForDefinedFont::Colour() const { return *entity->getArgument(0); } void IfcTextStyleForDefinedFont::setColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleForDefinedFont::hasBackgroundColour() { return !entity->getArgument(1)->isNull(); } -IfcColour IfcTextStyleForDefinedFont::BackgroundColour() { return *entity->getArgument(1); } +bool IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !entity->getArgument(1)->isNull(); } +IfcColour IfcTextStyleForDefinedFont::BackgroundColour() const { return *entity->getArgument(1); } void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleTextModel -bool IfcTextStyleTextModel::hasTextIndent() { return !entity->getArgument(0)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::TextIndent() { return *entity->getArgument(0); } +bool IfcTextStyleTextModel::hasTextIndent() const { return !entity->getArgument(0)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::TextIndent() const { return *entity->getArgument(0); } void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleTextModel::hasTextAlign() { return !entity->getArgument(1)->isNull(); } -IfcTextAlignment IfcTextStyleTextModel::TextAlign() { return *entity->getArgument(1); } +bool IfcTextStyleTextModel::hasTextAlign() const { return !entity->getArgument(1)->isNull(); } +IfcTextAlignment IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } void IfcTextStyleTextModel::setTextAlign(IfcTextAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleTextModel::hasTextDecoration() { return !entity->getArgument(2)->isNull(); } -IfcTextDecoration IfcTextStyleTextModel::TextDecoration() { return *entity->getArgument(2); } +bool IfcTextStyleTextModel::hasTextDecoration() const { return !entity->getArgument(2)->isNull(); } +IfcTextDecoration IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } void IfcTextStyleTextModel::setTextDecoration(IfcTextDecoration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleTextModel::hasLetterSpacing() { return !entity->getArgument(3)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LetterSpacing() { return *entity->getArgument(3); } +bool IfcTextStyleTextModel::hasLetterSpacing() const { return !entity->getArgument(3)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::LetterSpacing() const { return *entity->getArgument(3); } void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleTextModel::hasWordSpacing() { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::WordSpacing() { return *entity->getArgument(4); } +bool IfcTextStyleTextModel::hasWordSpacing() const { return !entity->getArgument(4)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::WordSpacing() const { return *entity->getArgument(4); } void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTextStyleTextModel::hasTextTransform() { return !entity->getArgument(5)->isNull(); } -IfcTextTransformation IfcTextStyleTextModel::TextTransform() { return *entity->getArgument(5); } +bool IfcTextStyleTextModel::hasTextTransform() const { return !entity->getArgument(5)->isNull(); } +IfcTextTransformation IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } void IfcTextStyleTextModel::setTextTransform(IfcTextTransformation v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTextStyleTextModel::hasLineHeight() { return !entity->getArgument(6)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LineHeight() { return *entity->getArgument(6); } +bool IfcTextStyleTextModel::hasLineHeight() const { return !entity->getArgument(6)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::LineHeight() const { return *entity->getArgument(6); } void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleTextModel::IfcTextStyleTextModel(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleWithBoxCharacteristics -bool IfcTextStyleWithBoxCharacteristics::hasBoxHeight() { return !entity->getArgument(0)->isNull(); } -IfcPositiveLengthMeasure IfcTextStyleWithBoxCharacteristics::BoxHeight() { return *entity->getArgument(0); } +bool IfcTextStyleWithBoxCharacteristics::hasBoxHeight() const { return !entity->getArgument(0)->isNull(); } +IfcPositiveLengthMeasure IfcTextStyleWithBoxCharacteristics::BoxHeight() const { return *entity->getArgument(0); } void IfcTextStyleWithBoxCharacteristics::setBoxHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleWithBoxCharacteristics::hasBoxWidth() { return !entity->getArgument(1)->isNull(); } -IfcPositiveLengthMeasure IfcTextStyleWithBoxCharacteristics::BoxWidth() { return *entity->getArgument(1); } +bool IfcTextStyleWithBoxCharacteristics::hasBoxWidth() const { return !entity->getArgument(1)->isNull(); } +IfcPositiveLengthMeasure IfcTextStyleWithBoxCharacteristics::BoxWidth() const { return *entity->getArgument(1); } void IfcTextStyleWithBoxCharacteristics::setBoxWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleWithBoxCharacteristics::hasBoxSlantAngle() { return !entity->getArgument(2)->isNull(); } -IfcPlaneAngleMeasure IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() { return *entity->getArgument(2); } +bool IfcTextStyleWithBoxCharacteristics::hasBoxSlantAngle() const { return !entity->getArgument(2)->isNull(); } +IfcPlaneAngleMeasure IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { return *entity->getArgument(2); } void IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleWithBoxCharacteristics::hasBoxRotateAngle() { return !entity->getArgument(3)->isNull(); } -IfcPlaneAngleMeasure IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() { return *entity->getArgument(3); } +bool IfcTextStyleWithBoxCharacteristics::hasBoxRotateAngle() const { return !entity->getArgument(3)->isNull(); } +IfcPlaneAngleMeasure IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { return *entity->getArgument(3); } void IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleWithBoxCharacteristics::hasCharacterSpacing() { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect IfcTextStyleWithBoxCharacteristics::CharacterSpacing() { return *entity->getArgument(4); } +bool IfcTextStyleWithBoxCharacteristics::hasCharacterSpacing() const { return !entity->getArgument(4)->isNull(); } +IfcSizeSelect IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { return *entity->getArgument(4); } void IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleWithBoxCharacteristics)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleWithBoxCharacteristics)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< IfcPositiveLengthMeasure > v1_BoxHeight, boost::optional< IfcPositiveLengthMeasure > v2_BoxWidth, boost::optional< IfcPlaneAngleMeasure > v3_BoxSlantAngle, boost::optional< IfcPlaneAngleMeasure > v4_BoxRotateAngle, boost::optional< IfcSizeSelect > v5_CharacterSpacing) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_BoxHeight) { e->setArgument(0,(*v1_BoxHeight)); } else { e->setArgument(0); } if (v2_BoxWidth) { e->setArgument(1,(*v2_BoxWidth)); } else { e->setArgument(1); } if (v3_BoxSlantAngle) { e->setArgument(2,(*v3_BoxSlantAngle)); } else { e->setArgument(2); } if (v4_BoxRotateAngle) { e->setArgument(3,(*v4_BoxRotateAngle)); } else { e->setArgument(3); } if (v5_CharacterSpacing) { e->setArgument(4,(*v5_CharacterSpacing)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinate -IfcAnnotationSurface::list IfcTextureCoordinate::AnnotatedSurface() { RETURN_INVERSE(IfcAnnotationSurface) } +IfcAnnotationSurface::list::ptr IfcTextureCoordinate::AnnotatedSurface() const { return entity->getInverse(Type::IfcAnnotationSurface)->as(); } bool IfcTextureCoordinate::is(Type::Enum v) const { return v == Type::IfcTextureCoordinate; } Type::Enum IfcTextureCoordinate::type() const { return Type::IfcTextureCoordinate; } Type::Enum IfcTextureCoordinate::Class() { return Type::IfcTextureCoordinate; } -IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextureCoordinate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextureCoordinate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinateGenerator -IfcLabel IfcTextureCoordinateGenerator::Mode() { return *entity->getArgument(0); } +IfcLabel IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(0); } void IfcTextureCoordinateGenerator::setMode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTextureCoordinateGenerator::Parameter() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcTextureCoordinateGenerator::setParameter(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTextureCoordinateGenerator::Parameter() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcTextureCoordinateGenerator::setParameter(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcTextureCoordinateGenerator::is(Type::Enum v) const { return v == Type::IfcTextureCoordinateGenerator || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureCoordinateGenerator::type() const { return Type::IfcTextureCoordinateGenerator; } Type::Enum IfcTextureCoordinateGenerator::Class() { return Type::IfcTextureCoordinateGenerator; } -IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcAbstractEntityPtr e) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcLabel v1_Mode, IfcEntities v2_Parameter) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Mode)); e->setArgument(1,(v2_Parameter)); entity = e; EntityBuffer::Add(this); } +IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcLabel v1_Mode, IfcEntityList::ptr v2_Parameter) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Mode)); e->setArgument(1,(v2_Parameter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureMap -SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > IfcTextureMap::TextureMaps() { RETURN_AS_LIST(IfcVertexBasedTextureMap,0) } -void IfcTextureMap::setTextureMaps(SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } bool IfcTextureMap::is(Type::Enum v) const { return v == Type::IfcTextureMap || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureMap::type() const { return Type::IfcTextureMap; } Type::Enum IfcTextureMap::Class() { return Type::IfcTextureMap; } -IfcTextureMap::IfcTextureMap(IfcAbstractEntityPtr e) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureMap::IfcTextureMap(SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > v1_TextureMaps) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextureMaps)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTextureMap::IfcTextureMap(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v1_TextureMaps) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextureMaps)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureVertex -std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() { return *entity->getArgument(0); } +std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } void IfcTextureVertex::setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextureVertex::is(Type::Enum v) const { return v == Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::type() const { return Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::Class() { return Type::IfcTextureVertex; } -IfcTextureVertex::IfcTextureVertex(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextureVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureVertex::IfcTextureVertex(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextureVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTextureVertex::IfcTextureVertex(std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcThermalMaterialProperties -bool IfcThermalMaterialProperties::hasSpecificHeatCapacity() { return !entity->getArgument(1)->isNull(); } -IfcSpecificHeatCapacityMeasure IfcThermalMaterialProperties::SpecificHeatCapacity() { return *entity->getArgument(1); } +bool IfcThermalMaterialProperties::hasSpecificHeatCapacity() const { return !entity->getArgument(1)->isNull(); } +IfcSpecificHeatCapacityMeasure IfcThermalMaterialProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } void IfcThermalMaterialProperties::setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcThermalMaterialProperties::hasBoilingPoint() { return !entity->getArgument(2)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcThermalMaterialProperties::BoilingPoint() { return *entity->getArgument(2); } +bool IfcThermalMaterialProperties::hasBoilingPoint() const { return !entity->getArgument(2)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcThermalMaterialProperties::BoilingPoint() const { return *entity->getArgument(2); } void IfcThermalMaterialProperties::setBoilingPoint(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcThermalMaterialProperties::hasFreezingPoint() { return !entity->getArgument(3)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcThermalMaterialProperties::FreezingPoint() { return *entity->getArgument(3); } +bool IfcThermalMaterialProperties::hasFreezingPoint() const { return !entity->getArgument(3)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcThermalMaterialProperties::FreezingPoint() const { return *entity->getArgument(3); } void IfcThermalMaterialProperties::setFreezingPoint(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcThermalMaterialProperties::hasThermalConductivity() { return !entity->getArgument(4)->isNull(); } -IfcThermalConductivityMeasure IfcThermalMaterialProperties::ThermalConductivity() { return *entity->getArgument(4); } +bool IfcThermalMaterialProperties::hasThermalConductivity() const { return !entity->getArgument(4)->isNull(); } +IfcThermalConductivityMeasure IfcThermalMaterialProperties::ThermalConductivity() const { return *entity->getArgument(4); } void IfcThermalMaterialProperties::setThermalConductivity(IfcThermalConductivityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcThermalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcThermalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcThermalMaterialProperties::type() const { return Type::IfcThermalMaterialProperties; } Type::Enum IfcThermalMaterialProperties::Class() { return Type::IfcThermalMaterialProperties; } -IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcThermalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcThermodynamicTemperatureMeasure > v3_BoilingPoint, boost::optional< IfcThermodynamicTemperatureMeasure > v4_FreezingPoint, boost::optional< IfcThermalConductivityMeasure > v5_ThermalConductivity) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_BoilingPoint) { e->setArgument(2,(*v3_BoilingPoint)); } else { e->setArgument(2); } if (v4_FreezingPoint) { e->setArgument(3,(*v4_FreezingPoint)); } else { e->setArgument(3); } if (v5_ThermalConductivity) { e->setArgument(4,(*v5_ThermalConductivity)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcThermalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcThermodynamicTemperatureMeasure > v3_BoilingPoint, boost::optional< IfcThermodynamicTemperatureMeasure > v4_FreezingPoint, boost::optional< IfcThermalConductivityMeasure > v5_ThermalConductivity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_BoilingPoint) { e->setArgument(2,(*v3_BoilingPoint)); } else { e->setArgument(2); } if (v4_FreezingPoint) { e->setArgument(3,(*v4_FreezingPoint)); } else { e->setArgument(3); } if (v5_ThermalConductivity) { e->setArgument(4,(*v5_ThermalConductivity)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeries -IfcLabel IfcTimeSeries::Name() { return *entity->getArgument(0); } +IfcLabel IfcTimeSeries::Name() const { return *entity->getArgument(0); } void IfcTimeSeries::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTimeSeries::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcTimeSeries::Description() { return *entity->getArgument(1); } +bool IfcTimeSeries::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcTimeSeries::Description() const { return *entity->getArgument(1); } void IfcTimeSeries::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcDateTimeSelect IfcTimeSeries::StartTime() { return *entity->getArgument(2); } +IfcDateTimeSelect IfcTimeSeries::StartTime() const { return *entity->getArgument(2); } void IfcTimeSeries::setStartTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDateTimeSelect IfcTimeSeries::EndTime() { return *entity->getArgument(3); } +IfcDateTimeSelect IfcTimeSeries::EndTime() const { return *entity->getArgument(3); } void IfcTimeSeries::setEndTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } +IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() const { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } void IfcTimeSeries::setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v)); } -IfcDataOriginEnum::IfcDataOriginEnum IfcTimeSeries::DataOrigin() { return IfcDataOriginEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcTimeSeries::UserDefinedDataOrigin() { return *entity->getArgument(6); } +bool IfcTimeSeries::hasUserDefinedDataOrigin() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } void IfcTimeSeries::setUserDefinedDataOrigin(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTimeSeries::hasUnit() { return !entity->getArgument(7)->isNull(); } -IfcUnit IfcTimeSeries::Unit() { return *entity->getArgument(7); } +bool IfcTimeSeries::hasUnit() const { return !entity->getArgument(7)->isNull(); } +IfcUnit IfcTimeSeries::Unit() const { return *entity->getArgument(7); } void IfcTimeSeries::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcTimeSeriesReferenceRelationship::list IfcTimeSeries::DocumentedBy() { RETURN_INVERSE(IfcTimeSeriesReferenceRelationship) } +IfcTimeSeriesReferenceRelationship::list::ptr IfcTimeSeries::DocumentedBy() const { return entity->getInverse(Type::IfcTimeSeriesReferenceRelationship)->as(); } bool IfcTimeSeries::is(Type::Enum v) const { return v == Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::type() const { return Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } -IfcTimeSeries::IfcTimeSeries(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTimeSeries::IfcTimeSeries(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTimeSeries::IfcTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesReferenceRelationship -IfcTimeSeries* IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcTimeSeriesReferenceRelationship::is(Type::Enum v) const { return v == Type::IfcTimeSeriesReferenceRelationship; } Type::Enum IfcTimeSeriesReferenceRelationship::type() const { return Type::IfcTimeSeriesReferenceRelationship; } Type::Enum IfcTimeSeriesReferenceRelationship::Class() { return Type::IfcTimeSeriesReferenceRelationship; } -IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeriesReferenceRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcTimeSeries* v1_ReferencedTimeSeries, IfcEntities v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ReferencedTimeSeries)); e->setArgument(1,(v2_TimeSeriesReferences)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeriesReferenceRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(5)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTimeSeriesSchedule::ApplicableDates() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,5) } -void IfcTimeSeriesSchedule::setApplicableDates(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } -IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum IfcTimeSeriesSchedule::TimeSeriesScheduleType() { return IfcTimeSeriesScheduleTypeEnum::FromString(*entity->getArgument(6)); } +bool IfcTimeSeriesSchedule::hasApplicableDates() const { return !entity->getArgument(5)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesSchedule::ApplicableDates() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } +void IfcTimeSeriesSchedule::setApplicableDates(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return IfcTimeSeriesScheduleTypeEnum::FromString(*entity->getArgument(6)); } void IfcTimeSeriesSchedule::setTimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcTimeSeriesScheduleTypeEnum::ToString(v)); } -IfcTimeSeries* IfcTimeSeriesSchedule::TimeSeries() { return (IfcTimeSeries*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } 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; } -IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTimeSeriesSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcEntities > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ApplicableDates) { e->setArgument(5,(*v6_ApplicableDates)); } else { e->setArgument(5); } e->setArgument(6,v7_TimeSeriesScheduleType,IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType)); e->setArgument(7,(v8_TimeSeries)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTimeSeriesSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcEntityList::ptr > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ApplicableDates) { e->setArgument(5,(*v6_ApplicableDates)); } else { e->setArgument(5); } e->setArgument(6,v7_TimeSeriesScheduleType,IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType)); e->setArgument(7,(v8_TimeSeries)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesValue -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcTimeSeriesValue::setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcTimeSeriesValue::IfcTimeSeriesValue(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntities v1_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ListValues)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeriesValue::IfcTimeSeriesValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityList::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTopologicalRepresentationItem bool IfcTopologicalRepresentationItem::is(Type::Enum v) const { return v == Type::IfcTopologicalRepresentationItem || IfcRepresentationItem::is(v); } Type::Enum IfcTopologicalRepresentationItem::type() const { return Type::IfcTopologicalRepresentationItem; } Type::Enum IfcTopologicalRepresentationItem::Class() { return Type::IfcTopologicalRepresentationItem; } -IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTopologicalRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologicalRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTopologyRepresentation bool IfcTopologyRepresentation::is(Type::Enum v) const { return v == Type::IfcTopologyRepresentation || IfcShapeModel::is(v); } Type::Enum IfcTopologyRepresentation::type() const { return Type::IfcTopologyRepresentation; } Type::Enum IfcTopologyRepresentation::Class() { return Type::IfcTopologyRepresentation; } -IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntityPtr e) : IfcShapeModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcShapeModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformerType -IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerType::PredefinedType() { return IfcTransformerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformerType::IfcTransformerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransformerType::IfcTransformerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElement -bool IfcTransportElement::hasOperationType() { return !entity->getArgument(8)->isNull(); } -IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElement::OperationType() { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcMassMeasure IfcTransportElement::CapacityByWeight() { return *entity->getArgument(9); } +bool IfcTransportElement::hasCapacityByWeight() const { return !entity->getArgument(9)->isNull(); } +IfcMassMeasure IfcTransportElement::CapacityByWeight() const { return *entity->getArgument(9); } void IfcTransportElement::setCapacityByWeight(IfcMassMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTransportElement::hasCapacityByNumber() { return !entity->getArgument(10)->isNull(); } -IfcCountMeasure IfcTransportElement::CapacityByNumber() { return *entity->getArgument(10); } +bool IfcTransportElement::hasCapacityByNumber() const { return !entity->getArgument(10)->isNull(); } +IfcCountMeasure IfcTransportElement::CapacityByNumber() const { return *entity->getArgument(10); } void IfcTransportElement::setCapacityByNumber(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElement::IfcTransportElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< IfcMassMeasure > v10_CapacityByWeight, boost::optional< IfcCountMeasure > v11_CapacityByNumber) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransportElement::IfcTransportElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< IfcMassMeasure > v10_CapacityByWeight, boost::optional< IfcCountMeasure > v11_CapacityByNumber) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OperationType) { e->setArgument(8,*v9_OperationType,IfcTransportElementTypeEnum::ToString(*v9_OperationType)); } else { e->setArgument(8); } if (v10_CapacityByWeight) { e->setArgument(9,(*v10_CapacityByWeight)); } else { e->setArgument(9); } if (v11_CapacityByNumber) { e->setArgument(10,(*v11_CapacityByNumber)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElementType -IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementType::PredefinedType() { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElementType::IfcTransportElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransportElementType::IfcTransportElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrapeziumProfileDef -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::BottomXDim() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } void IfcTrapeziumProfileDef::setBottomXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::TopXDim() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } void IfcTrapeziumProfileDef::setTopXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::YDim() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } void IfcTrapeziumProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcLengthMeasure IfcTrapeziumProfileDef::TopXOffset() { return *entity->getArgument(6); } +IfcLengthMeasure IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } void IfcTrapeziumProfileDef::setTopXOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrimmedCurve -IfcCurve* IfcTrimmedCurve::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTrimmedCurve::Trim1() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcTrimmedCurve::setTrim1(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTrimmedCurve::Trim2() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcTrimmedCurve::setTrim2(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcTrimmedCurve::SenseAgreement() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim1() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcTrimmedCurve::setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim2() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcTrimmedCurve::setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcTrimmedCurve::SenseAgreement() const { return *entity->getArgument(3); } void IfcTrimmedCurve::setSenseAgreement(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } +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)); } 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; } -IfcTrimmedCurve::IfcTrimmedCurve(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTrimmedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrimmedCurve::IfcTrimmedCurve(IfcCurve* v1_BasisCurve, IfcEntities v2_Trim1, IfcEntities v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation) : IfcBoundedCurve((IfcAbstractEntityPtr)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); } +IfcTrimmedCurve::IfcTrimmedCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrimmedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcTubeBundleType -IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundleType::PredefinedType() { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundleType::IfcTubeBundleType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTubeBundleType::IfcTubeBundleType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTwoDirectionRepeatFactor -IfcVector* IfcTwoDirectionRepeatFactor::SecondRepeatFactor() { return (IfcVector*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcAbstractEntityPtr e) : IfcOneDirectionRepeatFactor((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTwoDirectionRepeatFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcVector* v1_RepeatFactor, IfcVector* v2_SecondRepeatFactor) : IfcOneDirectionRepeatFactor((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatFactor)); e->setArgument(1,(v2_SecondRepeatFactor)); entity = e; EntityBuffer::Add(this); } +IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcAbstractEntity* e) : IfcOneDirectionRepeatFactor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTwoDirectionRepeatFactor)) throw IfcException("Unable to find find keyword in schema"); entity = 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() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcTypeObject::ApplicableOccurrence() { return *entity->getArgument(4); } +bool IfcTypeObject::hasApplicableOccurrence() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } void IfcTypeObject::setApplicableOccurrence(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTypeObject::hasHasPropertySets() { return !entity->getArgument(5)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > IfcTypeObject::HasPropertySets() { RETURN_AS_LIST(IfcPropertySetDefinition,5) } -void IfcTypeObject::setHasPropertySets(SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } -IfcRelDefinesByType::list IfcTypeObject::ObjectTypeOf() { RETURN_INVERSE(IfcRelDefinesByType) } +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()); } +IfcRelDefinesByType::list::ptr IfcTypeObject::ObjectTypeOf() const { return entity->getInverse(Type::IfcRelDefinesByType)->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(IfcAbstractEntityPtr e) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeObject::IfcTypeObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (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(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTypeObject::IfcTypeObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProduct -bool IfcTypeProduct::hasRepresentationMaps() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > IfcTypeProduct::RepresentationMaps() { RETURN_AS_LIST(IfcRepresentationMap,6) } -void IfcTypeProduct::setRepresentationMaps(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcTypeProduct::hasTag() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTypeProduct::Tag() { return *entity->getArgument(7); } +bool IfcTypeProduct::hasRepresentationMaps() const { return !entity->getArgument(6)->isNull(); } +IfcTemplatedEntityList< IfcRepresentationMap >::ptr IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } +void IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +bool IfcTypeProduct::hasTag() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcTypeProduct::Tag() const { return *entity->getArgument(7); } void IfcTypeProduct::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcTypeObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProduct::IfcTypeProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag) : IfcTypeObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (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(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTypeProduct::IfcTypeProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUShapeProfileDef -IfcPositiveLengthMeasure IfcUShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcUShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } void IfcUShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcUShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcUShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcUShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcUShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcUShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcUShapeProfileDef::hasEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::EdgeRadius() { return *entity->getArgument(8); } +bool IfcUShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } void IfcUShapeProfileDef::setEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcUShapeProfileDef::hasFlangeSlope() { return !entity->getArgument(9)->isNull(); } -IfcPlaneAngleMeasure IfcUShapeProfileDef::FlangeSlope() { return *entity->getArgument(9); } +bool IfcUShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } +IfcPlaneAngleMeasure IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } void IfcUShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcUShapeProfileDef::hasCentreOfGravityInX() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::CentreOfGravityInX() { return *entity->getArgument(10); } +bool IfcUShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(10); } void IfcUShapeProfileDef::setCentreOfGravityInX(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } if (v11_CentreOfGravityInX) { e->setArgument(10,(*v11_CentreOfGravityInX)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcUShapeProfileDef::IfcUShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } if (v11_CentreOfGravityInX) { e->setArgument(10,(*v11_CentreOfGravityInX)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitAssignment -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcUnitAssignment::Units() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcUnitAssignment::setUnits(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcUnitAssignment::Units() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcUnitAssignment::setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcUnitAssignment::IfcUnitAssignment(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcUnitAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitAssignment::IfcUnitAssignment(IfcEntities v1_Units) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Units)); entity = e; EntityBuffer::Add(this); } +IfcUnitAssignment::IfcUnitAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcUnitAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcUnitaryEquipmentType -IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipmentType::PredefinedType() { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValveType -IfcValveTypeEnum::IfcValveTypeEnum IfcValveType::PredefinedType() { return IfcValveTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValveType::IfcValveType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcValveType::IfcValveType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVector -IfcDirection* IfcVector::Orientation() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcDirection* IfcVector::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcVector::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcVector::Magnitude() { return *entity->getArgument(1); } +IfcLengthMeasure IfcVector::Magnitude() const { return *entity->getArgument(1); } void IfcVector::setMagnitude(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcVector::is(Type::Enum v) const { return v == Type::IfcVector || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcVector::type() const { return Type::IfcVector; } Type::Enum IfcVector::Class() { return Type::IfcVector; } -IfcVector::IfcVector(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVector)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVector::IfcVector(IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } +IfcVector::IfcVector(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVector)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVector::IfcVector(IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertex bool IfcVertex::is(Type::Enum v) const { return v == Type::IfcVertex || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcVertex::type() const { return Type::IfcVertex; } Type::Enum IfcVertex::Class() { return Type::IfcVertex; } -IfcVertex::IfcVertex(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcVertex::IfcVertex(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertexBasedTextureMap -SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > IfcVertexBasedTextureMap::TextureVertices() { RETURN_AS_LIST(IfcTextureVertex,0) } -void IfcVertexBasedTextureMap::setTextureVertices(SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcVertexBasedTextureMap::TexturePoints() { RETURN_AS_LIST(IfcCartesianPoint,1) } -void IfcVertexBasedTextureMap::setTexturePoints(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } +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()); } 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; } -IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVertexBasedTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v1_TextureVertices, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_TexturePoints) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextureVertices)->generalize()); e->setArgument(1,(v2_TexturePoints)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVertexBasedTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(IfcTemplatedEntityList< IfcTextureVertex >::ptr v1_TextureVertices, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_TexturePoints) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextureVertices)->generalize()); e->setArgument(1,(v2_TexturePoints)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertexLoop -IfcVertex* IfcVertexLoop::LoopVertex() { return (IfcVertex*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcVertexLoop::IfcVertexLoop(IfcAbstractEntityPtr e) : IfcLoop((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVertexLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertexLoop::IfcVertexLoop(IfcVertex* v1_LoopVertex) : IfcLoop((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LoopVertex)); entity = e; EntityBuffer::Add(this); } +IfcVertexLoop::IfcVertexLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVertexLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVertexLoop::IfcVertexLoop(IfcVertex* v1_LoopVertex) : IfcLoop((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LoopVertex)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertexPoint -IfcPoint* IfcVertexPoint::VertexGeometry() { return (IfcPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcVertexPoint::IfcVertexPoint(IfcAbstractEntityPtr e) : IfcVertex((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVertexPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertexPoint::IfcVertexPoint(IfcPoint* v1_VertexGeometry) : IfcVertex((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VertexGeometry)); entity = e; EntityBuffer::Add(this); } +IfcVertexPoint::IfcVertexPoint(IfcAbstractEntity* e) : IfcVertex((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVertexPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcVibrationIsolatorType -IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolatorType::PredefinedType() { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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; } -IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcAbstractEntityPtr e) : IfcDiscreteAccessoryType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcDiscreteAccessoryType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDiscreteAccessoryType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcDiscreteAccessoryType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualElement::IfcVirtualElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVirtualElement::IfcVirtualElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualGridIntersection -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcVirtualGridIntersection::IntersectingAxes() { RETURN_AS_LIST(IfcGridAxis,0) } -void IfcVirtualGridIntersection::setIntersectingAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcGridAxis >::ptr IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } void IfcVirtualGridIntersection::setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcVirtualGridIntersection::is(Type::Enum v) const { return v == Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::type() const { return Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::Class() { return Type::IfcVirtualGridIntersection; } -IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVirtualGridIntersection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualGridIntersection::IfcVirtualGridIntersection(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } +IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVirtualGridIntersection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWall bool IfcWall::is(Type::Enum v) const { return v == Type::IfcWall || IfcBuildingElement::is(v); } Type::Enum IfcWall::type() const { return Type::IfcWall; } Type::Enum IfcWall::Class() { return Type::IfcWall; } -IfcWall::IfcWall(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWall::IfcWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWall::IfcWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcWall((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallStandardCase::IfcWallStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcWall((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWallStandardCase::IfcWallStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallType -IfcWallTypeEnum::IfcWallTypeEnum IfcWallType::PredefinedType() { return IfcWallTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallType::IfcWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWallType::IfcWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminalType -IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalType::PredefinedType() { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminalType::IfcWasteTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWasteTerminalType::IfcWasteTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWaterProperties -bool IfcWaterProperties::hasIsPotable() { return !entity->getArgument(1)->isNull(); } -bool IfcWaterProperties::IsPotable() { return *entity->getArgument(1); } +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() { return !entity->getArgument(2)->isNull(); } -IfcIonConcentrationMeasure IfcWaterProperties::Hardness() { return *entity->getArgument(2); } +bool IfcWaterProperties::hasHardness() const { return !entity->getArgument(2)->isNull(); } +IfcIonConcentrationMeasure IfcWaterProperties::Hardness() const { return *entity->getArgument(2); } void IfcWaterProperties::setHardness(IfcIonConcentrationMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcWaterProperties::hasAlkalinityConcentration() { return !entity->getArgument(3)->isNull(); } -IfcIonConcentrationMeasure IfcWaterProperties::AlkalinityConcentration() { return *entity->getArgument(3); } +bool IfcWaterProperties::hasAlkalinityConcentration() const { return !entity->getArgument(3)->isNull(); } +IfcIonConcentrationMeasure IfcWaterProperties::AlkalinityConcentration() const { return *entity->getArgument(3); } void IfcWaterProperties::setAlkalinityConcentration(IfcIonConcentrationMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcWaterProperties::hasAcidityConcentration() { return !entity->getArgument(4)->isNull(); } -IfcIonConcentrationMeasure IfcWaterProperties::AcidityConcentration() { return *entity->getArgument(4); } +bool IfcWaterProperties::hasAcidityConcentration() const { return !entity->getArgument(4)->isNull(); } +IfcIonConcentrationMeasure IfcWaterProperties::AcidityConcentration() const { return *entity->getArgument(4); } void IfcWaterProperties::setAcidityConcentration(IfcIonConcentrationMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWaterProperties::hasImpuritiesContent() { return !entity->getArgument(5)->isNull(); } -IfcNormalisedRatioMeasure IfcWaterProperties::ImpuritiesContent() { return *entity->getArgument(5); } +bool IfcWaterProperties::hasImpuritiesContent() const { return !entity->getArgument(5)->isNull(); } +IfcNormalisedRatioMeasure IfcWaterProperties::ImpuritiesContent() const { return *entity->getArgument(5); } void IfcWaterProperties::setImpuritiesContent(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcWaterProperties::hasPHLevel() { return !entity->getArgument(6)->isNull(); } -IfcPHMeasure IfcWaterProperties::PHLevel() { return *entity->getArgument(6); } +bool IfcWaterProperties::hasPHLevel() const { return !entity->getArgument(6)->isNull(); } +IfcPHMeasure IfcWaterProperties::PHLevel() const { return *entity->getArgument(6); } void IfcWaterProperties::setPHLevel(IfcPHMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWaterProperties::hasDissolvedSolidsContent() { return !entity->getArgument(7)->isNull(); } -IfcNormalisedRatioMeasure IfcWaterProperties::DissolvedSolidsContent() { return *entity->getArgument(7); } +bool IfcWaterProperties::hasDissolvedSolidsContent() const { return !entity->getArgument(7)->isNull(); } +IfcNormalisedRatioMeasure IfcWaterProperties::DissolvedSolidsContent() const { return *entity->getArgument(7); } void IfcWaterProperties::setDissolvedSolidsContent(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcWaterProperties::is(Type::Enum v) const { return v == Type::IfcWaterProperties || IfcMaterialProperties::is(v); } Type::Enum IfcWaterProperties::type() const { return Type::IfcWaterProperties; } Type::Enum IfcWaterProperties::Class() { return Type::IfcWaterProperties; } -IfcWaterProperties::IfcWaterProperties(IfcAbstractEntityPtr e) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWaterProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWaterProperties::IfcWaterProperties(IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< IfcIonConcentrationMeasure > v3_Hardness, boost::optional< IfcIonConcentrationMeasure > v4_AlkalinityConcentration, boost::optional< IfcIonConcentrationMeasure > v5_AcidityConcentration, boost::optional< IfcNormalisedRatioMeasure > v6_ImpuritiesContent, boost::optional< IfcPHMeasure > v7_PHLevel, boost::optional< IfcNormalisedRatioMeasure > v8_DissolvedSolidsContent) : IfcMaterialProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_IsPotable) { e->setArgument(1,(*v2_IsPotable)); } else { e->setArgument(1); } if (v3_Hardness) { e->setArgument(2,(*v3_Hardness)); } else { e->setArgument(2); } if (v4_AlkalinityConcentration) { e->setArgument(3,(*v4_AlkalinityConcentration)); } else { e->setArgument(3); } if (v5_AcidityConcentration) { e->setArgument(4,(*v5_AcidityConcentration)); } else { e->setArgument(4); } if (v6_ImpuritiesContent) { e->setArgument(5,(*v6_ImpuritiesContent)); } else { e->setArgument(5); } if (v7_PHLevel) { e->setArgument(6,(*v7_PHLevel)); } else { e->setArgument(6); } if (v8_DissolvedSolidsContent) { e->setArgument(7,(*v8_DissolvedSolidsContent)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcWaterProperties::IfcWaterProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWaterProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWaterProperties::IfcWaterProperties(IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< IfcIonConcentrationMeasure > v3_Hardness, boost::optional< IfcIonConcentrationMeasure > v4_AlkalinityConcentration, boost::optional< IfcIonConcentrationMeasure > v5_AcidityConcentration, boost::optional< IfcNormalisedRatioMeasure > v6_ImpuritiesContent, boost::optional< IfcPHMeasure > v7_PHLevel, boost::optional< IfcNormalisedRatioMeasure > v8_DissolvedSolidsContent) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_IsPotable) { e->setArgument(1,(*v2_IsPotable)); } else { e->setArgument(1); } if (v3_Hardness) { e->setArgument(2,(*v3_Hardness)); } else { e->setArgument(2); } if (v4_AlkalinityConcentration) { e->setArgument(3,(*v4_AlkalinityConcentration)); } else { e->setArgument(3); } if (v5_AcidityConcentration) { e->setArgument(4,(*v5_AcidityConcentration)); } else { e->setArgument(4); } if (v6_ImpuritiesContent) { e->setArgument(5,(*v6_ImpuritiesContent)); } else { e->setArgument(5); } if (v7_PHLevel) { e->setArgument(6,(*v7_PHLevel)); } else { e->setArgument(6); } if (v8_DissolvedSolidsContent) { e->setArgument(7,(*v8_DissolvedSolidsContent)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindow -bool IfcWindow::hasOverallHeight() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallHeight() { return *entity->getArgument(8); } +bool IfcWindow::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcWindow::OverallHeight() const { return *entity->getArgument(8); } void IfcWindow::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindow::hasOverallWidth() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallWidth() { return *entity->getArgument(9); } +bool IfcWindow::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcWindow::OverallWidth() const { return *entity->getArgument(9); } void IfcWindow::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindow::IfcWindow(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindow::IfcWindow(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowLiningProperties -bool IfcWindowLiningProperties::hasLiningDepth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningDepth() { return *entity->getArgument(4); } +bool IfcWindowLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } void IfcWindowLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWindowLiningProperties::hasLiningThickness() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningThickness() { return *entity->getArgument(5); } +bool IfcWindowLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } void IfcWindowLiningProperties::setLiningThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcWindowLiningProperties::hasTransomThickness() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::TransomThickness() { return *entity->getArgument(6); } +bool IfcWindowLiningProperties::hasTransomThickness() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } void IfcWindowLiningProperties::setTransomThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowLiningProperties::hasMullionThickness() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::MullionThickness() { return *entity->getArgument(7); } +bool IfcWindowLiningProperties::hasMullionThickness() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } void IfcWindowLiningProperties::setMullionThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowLiningProperties::hasFirstTransomOffset() { return !entity->getArgument(8)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstTransomOffset() { return *entity->getArgument(8); } +bool IfcWindowLiningProperties::hasFirstTransomOffset() const { return !entity->getArgument(8)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } void IfcWindowLiningProperties::setFirstTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindowLiningProperties::hasSecondTransomOffset() { return !entity->getArgument(9)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondTransomOffset() { return *entity->getArgument(9); } +bool IfcWindowLiningProperties::hasSecondTransomOffset() const { return !entity->getArgument(9)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } void IfcWindowLiningProperties::setSecondTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWindowLiningProperties::hasFirstMullionOffset() { return !entity->getArgument(10)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstMullionOffset() { return *entity->getArgument(10); } +bool IfcWindowLiningProperties::hasFirstMullionOffset() const { return !entity->getArgument(10)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } void IfcWindowLiningProperties::setFirstMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcWindowLiningProperties::hasSecondMullionOffset() { return !entity->getArgument(11)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondMullionOffset() { return *entity->getArgument(11); } +bool IfcWindowLiningProperties::hasSecondMullionOffset() const { return !entity->getArgument(11)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } void IfcWindowLiningProperties::setSecondMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWindowLiningProperties::hasShapeAspectStyle() { return !entity->getArgument(12)->isNull(); } -IfcShapeAspect* IfcWindowLiningProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(12))); } +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::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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowLiningProperties::IfcWindowLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_TransomThickness, boost::optional< IfcPositiveLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowLiningProperties::IfcWindowLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_TransomThickness, boost::optional< IfcPositiveLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowPanelProperties -IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelProperties::OperationType() { return IfcWindowPanelOperationEnum::FromString(*entity->getArgument(4)); } +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)); } -IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelProperties::PanelPosition() { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameDepth() { return *entity->getArgument(6); } +bool IfcWindowPanelProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } void IfcWindowPanelProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowPanelProperties::hasFrameThickness() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameThickness() { return *entity->getArgument(7); } +bool IfcWindowPanelProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } void IfcWindowPanelProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowPanelProperties::hasShapeAspectStyle() { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcWindowPanelProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowPanelProperties::IfcWindowPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowPanelProperties::IfcWindowPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStyle -IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyle::ConstructionType() { return IfcWindowStyleConstructionEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum IfcWindowStyle::OperationType() { return IfcWindowStyleOperationEnum::FromString(*entity->getArgument(9)); } +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)); } -bool IfcWindowStyle::ParameterTakesPrecedence() { return *entity->getArgument(10); } +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); } -bool IfcWindowStyle::Sizeable() { return *entity->getArgument(11); } +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); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStyle::IfcWindowStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowStyle::IfcWindowStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkControl -IfcIdentifier IfcWorkControl::Identifier() { return *entity->getArgument(5); } +IfcIdentifier IfcWorkControl::Identifier() const { return *entity->getArgument(5); } void IfcWorkControl::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcDateTimeSelect IfcWorkControl::CreationDate() { return *entity->getArgument(6); } +IfcDateTimeSelect IfcWorkControl::CreationDate() const { return *entity->getArgument(6); } void IfcWorkControl::setCreationDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWorkControl::hasCreators() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > IfcWorkControl::Creators() { RETURN_AS_LIST(IfcPerson,7) } -void IfcWorkControl::setCreators(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcWorkControl::hasPurpose() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcWorkControl::Purpose() { return *entity->getArgument(8); } +bool IfcWorkControl::hasCreators() const { return !entity->getArgument(7)->isNull(); } +IfcTemplatedEntityList< IfcPerson >::ptr IfcWorkControl::Creators() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcWorkControl::setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +bool IfcWorkControl::hasPurpose() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcWorkControl::Purpose() const { return *entity->getArgument(8); } void IfcWorkControl::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWorkControl::hasDuration() { return !entity->getArgument(9)->isNull(); } -IfcTimeMeasure IfcWorkControl::Duration() { return *entity->getArgument(9); } +bool IfcWorkControl::hasDuration() const { return !entity->getArgument(9)->isNull(); } +IfcTimeMeasure IfcWorkControl::Duration() const { return *entity->getArgument(9); } void IfcWorkControl::setDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWorkControl::hasTotalFloat() { return !entity->getArgument(10)->isNull(); } -IfcTimeMeasure IfcWorkControl::TotalFloat() { return *entity->getArgument(10); } +bool IfcWorkControl::hasTotalFloat() const { return !entity->getArgument(10)->isNull(); } +IfcTimeMeasure IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } void IfcWorkControl::setTotalFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcDateTimeSelect IfcWorkControl::StartTime() { return *entity->getArgument(11); } +IfcDateTimeSelect IfcWorkControl::StartTime() const { return *entity->getArgument(11); } void IfcWorkControl::setStartTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWorkControl::hasFinishTime() { return !entity->getArgument(12)->isNull(); } -IfcDateTimeSelect IfcWorkControl::FinishTime() { return *entity->getArgument(12); } +bool IfcWorkControl::hasFinishTime() const { return !entity->getArgument(12)->isNull(); } +IfcDateTimeSelect IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } void IfcWorkControl::setFinishTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcWorkControl::hasWorkControlType() { return !entity->getArgument(13)->isNull(); } -IfcWorkControlTypeEnum::IfcWorkControlTypeEnum IfcWorkControl::WorkControlType() { return IfcWorkControlTypeEnum::FromString(*entity->getArgument(13)); } +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() { return !entity->getArgument(14)->isNull(); } -IfcLabel IfcWorkControl::UserDefinedControlType() { return *entity->getArgument(14); } +bool IfcWorkControl::hasUserDefinedControlType() const { return !entity->getArgument(14)->isNull(); } +IfcLabel IfcWorkControl::UserDefinedControlType() const { return *entity->getArgument(14); } void IfcWorkControl::setUserDefinedControlType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkControl::IfcWorkControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkControl::IfcWorkControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkControl::IfcWorkControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcWorkControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkPlan::IfcWorkPlan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkPlan::IfcWorkPlan(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkPlan::IfcWorkPlan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcWorkControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkSchedule::IfcWorkSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkSchedule::IfcWorkSchedule(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkSchedule::IfcWorkSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZShapeProfileDef -IfcPositiveLengthMeasure IfcZShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcZShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } void IfcZShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcZShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcZShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcZShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcZShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcZShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcZShapeProfileDef::hasEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::EdgeRadius() { return *entity->getArgument(8); } +bool IfcZShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } void IfcZShapeProfileDef::setEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZone bool IfcZone::is(Type::Enum v) const { return v == Type::IfcZone || IfcGroup::is(v); } Type::Enum IfcZone::type() const { return Type::IfcZone; } Type::Enum IfcZone::Class() { return Type::IfcZone; } -IfcZone::IfcZone(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZone::IfcZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcZone::IfcZone(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcZone::IfcZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } #endif diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 250bc7fd64..7a801d9d35 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -986,7 +986,7 @@ typedef int IfcYearNumber; /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcSchemaEntity IfcActorSelect; +typedef IfcUtil::IfcBaseClass* IfcActorSelect; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -1001,13 +1001,13 @@ typedef IfcUtil::IfcSchemaEntity IfcActorSelect; /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -typedef IfcUtil::IfcSchemaEntity IfcAppliedValueSelect; +typedef IfcUtil::IfcBaseClass* IfcAppliedValueSelect; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -typedef IfcUtil::IfcSchemaEntity IfcAxis2Placement; +typedef IfcUtil::IfcBaseClass* IfcAxis2Placement; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -1024,7 +1024,7 @@ typedef IfcUtil::IfcSchemaEntity IfcAxis2Placement; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcSchemaEntity IfcBooleanOperand; +typedef IfcUtil::IfcBaseClass* IfcBooleanOperand; /// The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable. /// /// NOTE  Corresponding ISO 10303 name: character_style_select. Please refer to ISO/IS @@ -1033,34 +1033,34 @@ typedef IfcUtil::IfcSchemaEntity IfcBooleanOperand; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcTextStyleForDefinedFont replaces the old IfcColour. -typedef IfcUtil::IfcSchemaEntity IfcCharacterStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcCharacterStyleSelect; -typedef IfcUtil::IfcSchemaEntity IfcClassificationNotationSelect; +typedef IfcUtil::IfcBaseClass* IfcClassificationNotationSelect; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcColour; +typedef IfcUtil::IfcBaseClass* IfcColour; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcColourOrFactor; +typedef IfcUtil::IfcBaseClass* IfcColourOrFactor; -typedef IfcUtil::IfcSchemaEntity IfcConditionCriterionSelect; +typedef IfcUtil::IfcBaseClass* IfcConditionCriterionSelect; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -typedef IfcUtil::IfcSchemaEntity IfcCsgSelect; +typedef IfcUtil::IfcBaseClass* IfcCsgSelect; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcCurveFontOrScaledCurveFontSelect; +typedef IfcUtil::IfcBaseClass* IfcCurveFontOrScaledCurveFontSelect; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -1069,21 +1069,21 @@ typedef IfcUtil::IfcSchemaEntity IfcCurveFontOrScaledCurveFontSelect; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcSchemaEntity IfcCurveOrEdgeCurve; +typedef IfcUtil::IfcBaseClass* IfcCurveOrEdgeCurve; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcCurveStyleFontSelect; +typedef IfcUtil::IfcBaseClass* IfcCurveStyleFontSelect; -typedef IfcUtil::IfcSchemaEntity IfcDateTimeSelect; +typedef IfcUtil::IfcBaseClass* IfcDateTimeSelect; /// The defined symbol select is a selection between a predefined symbol and an externally defined symbol. /// /// NOTE Corresponding ISO 10303 name: defined_symbol_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcDefinedSymbolSelect; +typedef IfcUtil::IfcBaseClass* IfcDefinedSymbolSelect; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -1158,7 +1158,7 @@ typedef IfcUtil::IfcSchemaEntity IfcDefinedSymbolSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcSchemaEntity IfcDerivedMeasureValue; +typedef IfcUtil::IfcBaseClass* IfcDerivedMeasureValue; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -1167,9 +1167,9 @@ typedef IfcUtil::IfcSchemaEntity IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcSchemaEntity IfcDocumentSelect; +typedef IfcUtil::IfcBaseClass* IfcDocumentSelect; -typedef IfcUtil::IfcSchemaEntity IfcDraughtingCalloutElement; +typedef IfcUtil::IfcBaseClass* IfcDraughtingCalloutElement; /// The fill area style tile shape select is used to make a selection for the style of the fill area style tile. /// /// NOTE: The IfcFillAreaStyleTileShapeSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. @@ -1177,24 +1177,24 @@ typedef IfcUtil::IfcSchemaEntity IfcDraughtingCalloutElement; /// NOTE Corresponding ISO 10303 name: fill_area_style_tile_shape_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcFillAreaStyleTileShapeSelect; +typedef IfcUtil::IfcBaseClass* IfcFillAreaStyleTileShapeSelect; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcFillStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcFillStyleSelect; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -typedef IfcUtil::IfcSchemaEntity IfcGeometricSetSelect; +typedef IfcUtil::IfcBaseClass* IfcGeometricSetSelect; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -typedef IfcUtil::IfcSchemaEntity IfcHatchLineDistanceSelect; +typedef IfcUtil::IfcBaseClass* IfcHatchLineDistanceSelect; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -1202,7 +1202,7 @@ typedef IfcUtil::IfcSchemaEntity IfcHatchLineDistanceSelect; /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcLayeredItem; +typedef IfcUtil::IfcBaseClass* IfcLayeredItem; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -1213,7 +1213,7 @@ typedef IfcUtil::IfcSchemaEntity IfcLayeredItem; /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -typedef IfcUtil::IfcSchemaEntity IfcLibrarySelect; +typedef IfcUtil::IfcBaseClass* IfcLibrarySelect; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -1236,7 +1236,7 @@ typedef IfcUtil::IfcSchemaEntity IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcLightDistributionDataSourceSelect; +typedef IfcUtil::IfcBaseClass* IfcLightDistributionDataSourceSelect; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -1263,7 +1263,7 @@ typedef IfcUtil::IfcSchemaEntity IfcLightDistributionDataSourceSelect; /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -typedef IfcUtil::IfcSchemaEntity IfcMaterialSelect; +typedef IfcUtil::IfcBaseClass* IfcMaterialSelect; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -1273,7 +1273,7 @@ typedef IfcUtil::IfcSchemaEntity IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcSchemaEntity IfcMeasureValue; +typedef IfcUtil::IfcBaseClass* IfcMeasureValue; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -1286,13 +1286,13 @@ typedef IfcUtil::IfcSchemaEntity IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcSchemaEntity IfcMetricValueSelect; +typedef IfcUtil::IfcBaseClass* IfcMetricValueSelect; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -typedef IfcUtil::IfcSchemaEntity IfcObjectReferenceSelect; +typedef IfcUtil::IfcBaseClass* IfcObjectReferenceSelect; -typedef IfcUtil::IfcSchemaEntity IfcOrientationSelect; +typedef IfcUtil::IfcBaseClass* IfcOrientationSelect; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -1300,7 +1300,7 @@ typedef IfcUtil::IfcSchemaEntity IfcOrientationSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcSchemaEntity IfcPointOrVertexPoint; +typedef IfcUtil::IfcBaseClass* IfcPointOrVertexPoint; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -1309,7 +1309,7 @@ typedef IfcUtil::IfcSchemaEntity IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcSchemaEntity IfcPresentationStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcPresentationStyleSelect; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < Â¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -1321,7 +1321,7 @@ typedef IfcUtil::IfcSchemaEntity IfcPresentationStyleSelect; /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -typedef IfcUtil::IfcSchemaEntity IfcShell; +typedef IfcUtil::IfcBaseClass* IfcShell; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -1341,7 +1341,7 @@ typedef IfcUtil::IfcSchemaEntity IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcSchemaEntity IfcSimpleValue; +typedef IfcUtil::IfcBaseClass* IfcSimpleValue; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -1354,7 +1354,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSimpleValue; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -typedef IfcUtil::IfcSchemaEntity IfcSizeSelect; +typedef IfcUtil::IfcBaseClass* IfcSizeSelect; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -1365,7 +1365,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSizeSelect; /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcSpecularHighlightSelect; +typedef IfcUtil::IfcBaseClass* IfcSpecularHighlightSelect; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -1375,7 +1375,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcSchemaEntity IfcStructuralActivityAssignmentSelect; +typedef IfcUtil::IfcBaseClass* IfcStructuralActivityAssignmentSelect; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -1385,7 +1385,7 @@ typedef IfcUtil::IfcSchemaEntity IfcStructuralActivityAssignmentSelect; /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -typedef IfcUtil::IfcSchemaEntity IfcSurfaceOrFaceSurface; +typedef IfcUtil::IfcBaseClass* IfcSurfaceOrFaceSurface; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -1395,7 +1395,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSurfaceOrFaceSurface; /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcSurfaceStyleElementSelect; +typedef IfcUtil::IfcBaseClass* IfcSurfaceStyleElementSelect; /// The symbol style select allows for the selection of styles to be assigned to an annotated symbol. /// /// NOTE: The selection is restricted to colour within the current release of IFC @@ -1403,7 +1403,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSurfaceStyleElementSelect; /// NOTE Corresponding ISO 10303 name: symbol_style_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcSymbolStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcSymbolStyleSelect; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -1411,7 +1411,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSymbolStyleSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcSchemaEntity IfcTextFontSelect; +typedef IfcUtil::IfcBaseClass* IfcTextFontSelect; /// The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices: /// /// IfcTextStyleWithBoxCharacteristics for definitions from ISO/IS 10303-46:1994 for (old) vector based and monospace text. @@ -1421,13 +1421,13 @@ typedef IfcUtil::IfcSchemaEntity IfcTextFontSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The items within the IfcTextStyleSelect have changed to IfcTextStyleWithBoxCharacteristics and IfcTextStyleTextModel. -typedef IfcUtil::IfcSchemaEntity IfcTextStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcTextStyleSelect; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -typedef IfcUtil::IfcSchemaEntity IfcTrimmingSelect; +typedef IfcUtil::IfcBaseClass* IfcTrimmingSelect; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -1441,7 +1441,7 @@ typedef IfcUtil::IfcSchemaEntity IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcSchemaEntity IfcUnit; +typedef IfcUtil::IfcBaseClass* IfcUnit; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -1452,7 +1452,7 @@ typedef IfcUtil::IfcSchemaEntity IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcSchemaEntity IfcValue; +typedef IfcUtil::IfcBaseClass* IfcValue; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -1461,7 +1461,7 @@ typedef IfcUtil::IfcSchemaEntity IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcSchemaEntity IfcVectorOrDirection; +typedef IfcUtil::IfcBaseClass* IfcVectorOrDirection; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: /// /// top-left @@ -5422,33 +5422,31 @@ class IfcActorRole : public IfcUtil::IfcBaseEntity { 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(); + IfcRoleEnum::IfcRoleEnum Role() const; void setRole(IfcRoleEnum::IfcRoleEnum v); /// Whether the optional attribute UserDefinedRole is defined for this IfcActorRole - bool hasUserDefinedRole(); + bool hasUserDefinedRole() const; /// 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. - IfcLabel UserDefinedRole(); + IfcLabel UserDefinedRole() const; void setUserDefinedRole(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcActorRole - bool hasDescription(); + bool hasDescription() const; /// A textual description relating the nature of the role played by an actor. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Role"; case 1: return "UserDefinedRole"; case 2: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActorRole (IfcAbstractEntityPtr e); + IfcActorRole (IfcAbstractEntity* e); IfcActorRole (IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description); - typedef IfcActorRole* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > list; - typedef IfcTemplatedEntityList< IfcActorRole >::it it; + typedef IfcTemplatedEntityList< IfcActorRole > list; }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -5458,37 +5456,35 @@ public: class IfcAddress : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Purpose is defined for this IfcAddress - bool hasPurpose(); + bool hasPurpose() const; /// Identifies the logical location of the address. - IfcAddressTypeEnum::IfcAddressTypeEnum Purpose(); + IfcAddressTypeEnum::IfcAddressTypeEnum Purpose() const; void setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v); /// Whether the optional attribute Description is defined for this IfcAddress - bool hasDescription(); + bool hasDescription() const; /// Text that relates the nature of the address. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress - bool hasUserDefinedPurpose(); + bool hasUserDefinedPurpose() const; /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - IfcLabel UserDefinedPurpose(); + IfcLabel UserDefinedPurpose() const; void setUserDefinedPurpose(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Purpose"; case 1: return "Description"; case 2: return "UserDefinedPurpose"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > OfPerson(); // INVERSE IfcPerson::Addresses - SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > OfOrganization(); // INVERSE IfcOrganization::Addresses + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPerson >::ptr OfPerson() const; // INVERSE IfcPerson::Addresses + IfcTemplatedEntityList< IfcOrganization >::ptr OfOrganization() const; // INVERSE IfcOrganization::Addresses bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAddress (IfcAbstractEntityPtr e); + IfcAddress (IfcAbstractEntity* e); IfcAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose); - typedef IfcAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > list; - typedef IfcTemplatedEntityList< IfcAddress >::it it; + typedef IfcTemplatedEntityList< IfcAddress > list; }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// @@ -5496,29 +5492,27 @@ public: class IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. - IfcOrganization* ApplicationDeveloper(); + IfcOrganization* ApplicationDeveloper() const; void setApplicationDeveloper(IfcOrganization* v); /// The version number of this software as specified by the developer of the application. - IfcLabel Version(); + IfcLabel Version() const; void setVersion(IfcLabel v); /// The full name of the application as specified by the application developer. - IfcLabel ApplicationFullName(); + IfcLabel ApplicationFullName() const; void setApplicationFullName(IfcLabel v); /// Short identifying name for the application. - IfcIdentifier ApplicationIdentifier(); + IfcIdentifier ApplicationIdentifier() const; void setApplicationIdentifier(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ApplicationDeveloper"; case 1: return "Version"; case 2: return "ApplicationFullName"; case 3: return "ApplicationIdentifier"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApplication (IfcAbstractEntityPtr e); + IfcApplication (IfcAbstractEntity* e); IfcApplication (IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier); - typedef IfcApplication* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApplication > > list; - typedef IfcTemplatedEntityList< IfcApplication >::it it; + typedef IfcTemplatedEntityList< IfcApplication > list; }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -5537,58 +5531,56 @@ public: class IfcAppliedValue : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcAppliedValue - bool hasName(); + bool hasName() const; /// A name or additional clarification given to a cost value. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcAppliedValue - bool hasDescription(); + bool hasDescription() const; /// The description that may apply additional information about a cost value. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue - bool hasAppliedValue(); + bool hasAppliedValue() const; /// The extent or quantity or amount of an applied value. - IfcAppliedValueSelect AppliedValue(); + IfcAppliedValueSelect AppliedValue() const; void setAppliedValue(IfcAppliedValueSelect v); /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue - bool hasUnitBasis(); + bool hasUnitBasis() const; /// 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(); + IfcMeasureWithUnit* UnitBasis() const; void setUnitBasis(IfcMeasureWithUnit* v); /// Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue - bool hasApplicableDate(); + bool hasApplicableDate() const; /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect ApplicableDate(); + IfcDateTimeSelect ApplicableDate() const; void setApplicableDate(IfcDateTimeSelect v); /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue - bool hasFixedUntilDate(); + bool hasFixedUntilDate() const; /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect FixedUntilDate(); + IfcDateTimeSelect FixedUntilDate() const; void setFixedUntilDate(IfcDateTimeSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "AppliedValue"; case 3: return "UnitBasis"; case 4: return "ApplicableDate"; case 5: return "FixedUntilDate"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcReferencesValueDocument > > ValuesReferenced(); // INVERSE IfcReferencesValueDocument::ReferencingValues - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValueRelationship > > ValueOfComponents(); // INVERSE IfcAppliedValueRelationship::ComponentOfTotal - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValueRelationship > > IsComponentIn(); // INVERSE IfcAppliedValueRelationship::Components + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcReferencesValueDocument >::ptr ValuesReferenced() const; // INVERSE IfcReferencesValueDocument::ReferencingValues + IfcTemplatedEntityList< IfcAppliedValueRelationship >::ptr ValueOfComponents() const; // INVERSE IfcAppliedValueRelationship::ComponentOfTotal + IfcTemplatedEntityList< IfcAppliedValueRelationship >::ptr IsComponentIn() const; // INVERSE IfcAppliedValueRelationship::Components bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAppliedValue (IfcAbstractEntityPtr e); + IfcAppliedValue (IfcAbstractEntity* e); IfcAppliedValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate); - typedef IfcAppliedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > list; - typedef IfcTemplatedEntityList< IfcAppliedValue >::it it; + typedef IfcTemplatedEntityList< IfcAppliedValue > list; }; /// An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value. /// @@ -5617,34 +5609,32 @@ public: class IfcAppliedValueRelationship : public IfcUtil::IfcBaseEntity { public: /// The applied value (total or subtotal) of which the value being considered is a component. - IfcAppliedValue* ComponentOfTotal(); + IfcAppliedValue* ComponentOfTotal() const; void setComponentOfTotal(IfcAppliedValue* v); /// Applied values that are components of another applied value and from which that applied value may be deduced. - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > Components(); - void setComponents(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v); + IfcTemplatedEntityList< IfcAppliedValue >::ptr Components() const; + void setComponents(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); /// The arithmetic operator applied in an applied value relationship. - IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator(); + IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator() const; void setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v); /// Whether the optional attribute Name is defined for this IfcAppliedValueRelationship - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcAppliedValueRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ComponentOfTotal"; case 1: return "Components"; case 2: return "ArithmeticOperator"; case 3: return "Name"; case 4: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAppliedValueRelationship (IfcAbstractEntityPtr e); - IfcAppliedValueRelationship (IfcAppliedValue* v1_ComponentOfTotal, SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description); - typedef IfcAppliedValueRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValueRelationship > > list; - typedef IfcTemplatedEntityList< IfcAppliedValueRelationship >::it it; + IfcAppliedValueRelationship (IfcAbstractEntity* e); + IfcAppliedValueRelationship (IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description); + typedef IfcTemplatedEntityList< IfcAppliedValueRelationship > list; }; /// Definition: An IfcApproval represents information about approval processes such as for a plan, a design, a proposal, or a change order in a construction or facilities management project. IfcApproval is referenced by IfcRelAssociatesApproval in IfcControlExtension schema, and thereby can be related to all subtypes of IfcRoot. An approval may also be given to resource objects using IfcResourceApprovalRelationship /// @@ -5654,87 +5644,81 @@ public: class IfcApproval : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Description is defined for this IfcApproval - bool hasDescription(); + bool hasDescription() const; /// A general textual description of a design, work task, plan, etc. that is being approved for. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); - IfcDateTimeSelect ApprovalDateTime(); + IfcDateTimeSelect ApprovalDateTime() const; void setApprovalDateTime(IfcDateTimeSelect v); /// Whether the optional attribute ApprovalStatus is defined for this IfcApproval - bool hasApprovalStatus(); - IfcLabel ApprovalStatus(); + bool hasApprovalStatus() const; + IfcLabel ApprovalStatus() const; void setApprovalStatus(IfcLabel v); /// Whether the optional attribute ApprovalLevel is defined for this IfcApproval - bool hasApprovalLevel(); - IfcLabel ApprovalLevel(); + bool hasApprovalLevel() const; + IfcLabel ApprovalLevel() const; void setApprovalLevel(IfcLabel v); /// Whether the optional attribute ApprovalQualifier is defined for this IfcApproval - bool hasApprovalQualifier(); - IfcText ApprovalQualifier(); + bool hasApprovalQualifier() const; + IfcText ApprovalQualifier() const; void setApprovalQualifier(IfcText v); /// A human readable name given to an approval. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// A computer interpretable identifier by which the approval is known. - IfcIdentifier Identifier(); + IfcIdentifier Identifier() const; void setIdentifier(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Description"; case 1: return "ApprovalDateTime"; case 2: return "ApprovalStatus"; case 3: return "ApprovalLevel"; case 4: return "ApprovalQualifier"; case 5: return "Name"; case 6: return "Identifier"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcApprovalActorRelationship > > Actors(); // INVERSE IfcApprovalActorRelationship::Approval - SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > IsRelatedWith(); // INVERSE IfcApprovalRelationship::RelatedApproval - SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > Relates(); // INVERSE IfcApprovalRelationship::RelatingApproval + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcApprovalActorRelationship >::ptr Actors() const; // INVERSE IfcApprovalActorRelationship::Approval + IfcTemplatedEntityList< IfcApprovalRelationship >::ptr IsRelatedWith() const; // INVERSE IfcApprovalRelationship::RelatedApproval + IfcTemplatedEntityList< IfcApprovalRelationship >::ptr Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApproval (IfcAbstractEntityPtr e); + IfcApproval (IfcAbstractEntity* e); IfcApproval (boost::optional< IfcText > v1_Description, IfcDateTimeSelect v2_ApprovalDateTime, boost::optional< IfcLabel > v3_ApprovalStatus, boost::optional< IfcLabel > v4_ApprovalLevel, boost::optional< IfcText > v5_ApprovalQualifier, IfcLabel v6_Name, IfcIdentifier v7_Identifier); - typedef IfcApproval* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > list; - typedef IfcTemplatedEntityList< IfcApproval >::it it; + typedef IfcTemplatedEntityList< IfcApproval > list; }; class IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { public: - IfcActorSelect Actor(); + IfcActorSelect Actor() const; void setActor(IfcActorSelect v); - IfcApproval* Approval(); + IfcApproval* Approval() const; void setApproval(IfcApproval* v); - IfcActorRole* Role(); + IfcActorRole* Role() const; void setRole(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Actor"; case 1: return "Approval"; case 2: return "Role"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApprovalActorRelationship (IfcAbstractEntityPtr e); + IfcApprovalActorRelationship (IfcAbstractEntity* e); IfcApprovalActorRelationship (IfcActorSelect v1_Actor, IfcApproval* v2_Approval, IfcActorRole* v3_Role); - typedef IfcApprovalActorRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalActorRelationship > > list; - typedef IfcTemplatedEntityList< IfcApprovalActorRelationship >::it it; + typedef IfcTemplatedEntityList< IfcApprovalActorRelationship > list; }; class IfcApprovalPropertyRelationship : public IfcUtil::IfcBaseEntity { public: - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > ApprovedProperties(); - void setApprovedProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); - IfcApproval* Approval(); + IfcTemplatedEntityList< IfcProperty >::ptr ApprovedProperties() const; + void setApprovedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); + IfcApproval* Approval() const; void setApproval(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ApprovedProperties"; case 1: return "Approval"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApprovalPropertyRelationship (IfcAbstractEntityPtr e); - IfcApprovalPropertyRelationship (SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v1_ApprovedProperties, IfcApproval* v2_Approval); - typedef IfcApprovalPropertyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalPropertyRelationship > > list; - typedef IfcTemplatedEntityList< IfcApprovalPropertyRelationship >::it it; + IfcApprovalPropertyRelationship (IfcAbstractEntity* e); + IfcApprovalPropertyRelationship (IfcTemplatedEntityList< IfcProperty >::ptr v1_ApprovedProperties, IfcApproval* v2_Approval); + typedef IfcTemplatedEntityList< IfcApprovalPropertyRelationship > list; }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -5745,29 +5729,27 @@ public: /// IFC2x4 CHANGE  Subtyped from IfcResourceLevelRelationship, order of attributes changed. class IfcApprovalRelationship : public IfcUtil::IfcBaseEntity { public: - IfcApproval* RelatedApproval(); + IfcApproval* RelatedApproval() const; void setRelatedApproval(IfcApproval* v); /// The approval that other approval is related to. - IfcApproval* RelatingApproval(); + IfcApproval* RelatingApproval() const; void setRelatingApproval(IfcApproval* v); /// Whether the optional attribute Description is defined for this IfcApprovalRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatedApproval"; case 1: return "RelatingApproval"; case 2: return "Description"; case 3: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApprovalRelationship (IfcAbstractEntityPtr e); + IfcApprovalRelationship (IfcAbstractEntity* e); IfcApprovalRelationship (IfcApproval* v1_RelatedApproval, IfcApproval* v2_RelatingApproval, boost::optional< IfcText > v3_Description, IfcLabel v4_Name); - typedef IfcApprovalRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > list; - typedef IfcTemplatedEntityList< IfcApprovalRelationship >::it it; + typedef IfcTemplatedEntityList< IfcApprovalRelationship > list; }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -5787,22 +5769,20 @@ public: class IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcBoundaryCondition - bool hasName(); + bool hasName() const; /// Optionally defines a name for this boundary condition. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryCondition (IfcAbstractEntityPtr e); + IfcBoundaryCondition (IfcAbstractEntity* e); IfcBoundaryCondition (boost::optional< IfcLabel > v1_Name); - typedef IfcBoundaryCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -5817,44 +5797,42 @@ public: class IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasLinearStiffnessByLengthX(); - IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthX(); + bool hasLinearStiffnessByLengthX() const; + IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthX() const; void setLinearStiffnessByLengthX(IfcModulusOfLinearSubgradeReactionMeasure v); /// Whether the optional attribute LinearStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasLinearStiffnessByLengthY(); - IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthY(); + bool hasLinearStiffnessByLengthY() const; + IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthY() const; void setLinearStiffnessByLengthY(IfcModulusOfLinearSubgradeReactionMeasure v); /// Whether the optional attribute LinearStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasLinearStiffnessByLengthZ(); - IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthZ(); + bool hasLinearStiffnessByLengthZ() const; + IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthZ() const; void setLinearStiffnessByLengthZ(IfcModulusOfLinearSubgradeReactionMeasure v); /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthX(); + bool hasRotationalStiffnessByLengthX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthX(); + IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthX() const; void setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionMeasure v); /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthY(); + bool hasRotationalStiffnessByLengthY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthY(); + IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthY() const; void setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionMeasure v); /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthZ(); + bool hasRotationalStiffnessByLengthZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthZ(); + IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthZ() const; void setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearStiffnessByLengthX"; case 2: return "LinearStiffnessByLengthY"; case 3: return "LinearStiffnessByLengthZ"; case 4: return "RotationalStiffnessByLengthX"; case 5: return "RotationalStiffnessByLengthY"; case 6: return "RotationalStiffnessByLengthZ"; } return IfcBoundaryCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryEdgeCondition (IfcAbstractEntityPtr e); + IfcBoundaryEdgeCondition (IfcAbstractEntity* e); IfcBoundaryEdgeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v2_LinearStiffnessByLengthX, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v3_LinearStiffnessByLengthY, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v4_LinearStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v7_RotationalStiffnessByLengthZ); - typedef IfcBoundaryEdgeCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryEdgeCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -5869,29 +5847,27 @@ public: class IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessByAreaX is defined for this IfcBoundaryFaceCondition - bool hasLinearStiffnessByAreaX(); - IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaX(); + bool hasLinearStiffnessByAreaX() const; + IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaX() const; void setLinearStiffnessByAreaX(IfcModulusOfSubgradeReactionMeasure v); /// Whether the optional attribute LinearStiffnessByAreaY is defined for this IfcBoundaryFaceCondition - bool hasLinearStiffnessByAreaY(); - IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaY(); + bool hasLinearStiffnessByAreaY() const; + IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaY() const; void setLinearStiffnessByAreaY(IfcModulusOfSubgradeReactionMeasure v); /// Whether the optional attribute LinearStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition - bool hasLinearStiffnessByAreaZ(); - IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaZ(); + bool hasLinearStiffnessByAreaZ() const; + IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaZ() const; void setLinearStiffnessByAreaZ(IfcModulusOfSubgradeReactionMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearStiffnessByAreaX"; case 2: return "LinearStiffnessByAreaY"; case 3: return "LinearStiffnessByAreaZ"; } return IfcBoundaryCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryFaceCondition (IfcAbstractEntityPtr e); + IfcBoundaryFaceCondition (IfcAbstractEntity* e); IfcBoundaryFaceCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionMeasure > v2_LinearStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionMeasure > v3_LinearStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionMeasure > v4_LinearStiffnessByAreaZ); - typedef IfcBoundaryFaceCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryFaceCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -5906,44 +5882,42 @@ public: class IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasLinearStiffnessX(); - IfcLinearStiffnessMeasure LinearStiffnessX(); + bool hasLinearStiffnessX() const; + IfcLinearStiffnessMeasure LinearStiffnessX() const; void setLinearStiffnessX(IfcLinearStiffnessMeasure v); /// Whether the optional attribute LinearStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasLinearStiffnessY(); - IfcLinearStiffnessMeasure LinearStiffnessY(); + bool hasLinearStiffnessY() const; + IfcLinearStiffnessMeasure LinearStiffnessY() const; void setLinearStiffnessY(IfcLinearStiffnessMeasure v); /// Whether the optional attribute LinearStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasLinearStiffnessZ(); - IfcLinearStiffnessMeasure LinearStiffnessZ(); + bool hasLinearStiffnessZ() const; + IfcLinearStiffnessMeasure LinearStiffnessZ() const; void setLinearStiffnessZ(IfcLinearStiffnessMeasure v); /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessX(); + bool hasRotationalStiffnessX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessMeasure RotationalStiffnessX(); + IfcRotationalStiffnessMeasure RotationalStiffnessX() const; void setRotationalStiffnessX(IfcRotationalStiffnessMeasure v); /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessY(); + bool hasRotationalStiffnessY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessMeasure RotationalStiffnessY(); + IfcRotationalStiffnessMeasure RotationalStiffnessY() const; void setRotationalStiffnessY(IfcRotationalStiffnessMeasure v); /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessZ(); + bool hasRotationalStiffnessZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessMeasure RotationalStiffnessZ(); + IfcRotationalStiffnessMeasure RotationalStiffnessZ() const; void setRotationalStiffnessZ(IfcRotationalStiffnessMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearStiffnessX"; case 2: return "LinearStiffnessY"; case 3: return "LinearStiffnessZ"; case 4: return "RotationalStiffnessX"; case 5: return "RotationalStiffnessY"; case 6: return "RotationalStiffnessZ"; } return IfcBoundaryCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryNodeCondition (IfcAbstractEntityPtr e); + IfcBoundaryNodeCondition (IfcAbstractEntity* e); IfcBoundaryNodeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ); - typedef IfcBoundaryNodeCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryNodeCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -5957,44 +5931,40 @@ public: class IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping - bool hasWarpingStiffness(); + bool hasWarpingStiffness() const; /// Defines the warping stiffness value. - IfcWarpingMomentMeasure WarpingStiffness(); + IfcWarpingMomentMeasure WarpingStiffness() const; void setWarpingStiffness(IfcWarpingMomentMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryNodeCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingStiffness"; } return IfcBoundaryNodeCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryNodeConditionWarping (IfcAbstractEntityPtr e); + IfcBoundaryNodeConditionWarping (IfcAbstractEntity* e); IfcBoundaryNodeConditionWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingStiffness); - typedef IfcBoundaryNodeConditionWarping* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > > list; - typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > list; }; class IfcCalendarDate : public IfcUtil::IfcBaseEntity { public: - IfcDayInMonthNumber DayComponent(); + IfcDayInMonthNumber DayComponent() const; void setDayComponent(IfcDayInMonthNumber v); - IfcMonthInYearNumber MonthComponent(); + IfcMonthInYearNumber MonthComponent() const; void setMonthComponent(IfcMonthInYearNumber v); - IfcYearNumber YearComponent(); + IfcYearNumber YearComponent() const; void setYearComponent(IfcYearNumber v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DayComponent"; case 1: return "MonthComponent"; case 2: return "YearComponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCalendarDate (IfcAbstractEntityPtr e); + IfcCalendarDate (IfcAbstractEntity* e); IfcCalendarDate (IfcDayInMonthNumber v1_DayComponent, IfcMonthInYearNumber v2_MonthComponent, IfcYearNumber v3_YearComponent); - typedef IfcCalendarDate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCalendarDate > > list; - typedef IfcTemplatedEntityList< IfcCalendarDate >::it it; + typedef IfcTemplatedEntityList< IfcCalendarDate > list; }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -6016,124 +5986,114 @@ public: /// Source (or publisher) for this classification. /// /// NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher. - IfcLabel Source(); + IfcLabel Source() const; void setSource(IfcLabel v); /// The edition or version of the classification system from which the classification notation is derived. /// /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. - IfcLabel Edition(); + IfcLabel Edition() const; void setEdition(IfcLabel v); /// Whether the optional attribute EditionDate is defined for this IfcClassification - bool hasEditionDate(); + bool hasEditionDate() const; /// 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(); + IfcCalendarDate* EditionDate() const; void setEditionDate(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. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Source"; case 1: return "Edition"; case 2: return "EditionDate"; case 3: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > Contains(); // INVERSE IfcClassificationItem::ItemOf + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcClassificationItem >::ptr Contains() const; // INVERSE IfcClassificationItem::ItemOf bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassification (IfcAbstractEntityPtr e); + IfcClassification (IfcAbstractEntity* e); IfcClassification (IfcLabel v1_Source, IfcLabel v2_Edition, IfcCalendarDate* v3_EditionDate, IfcLabel v4_Name); - typedef IfcClassification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassification > > list; - typedef IfcTemplatedEntityList< IfcClassification >::it it; + typedef IfcTemplatedEntityList< IfcClassification > list; }; class IfcClassificationItem : public IfcUtil::IfcBaseEntity { public: - IfcClassificationNotationFacet* Notation(); + IfcClassificationNotationFacet* Notation() const; void setNotation(IfcClassificationNotationFacet* v); /// Whether the optional attribute ItemOf is defined for this IfcClassificationItem - bool hasItemOf(); - IfcClassification* ItemOf(); + bool hasItemOf() const; + IfcClassification* ItemOf() const; void setItemOf(IfcClassification* v); - IfcLabel Title(); + IfcLabel Title() const; void setTitle(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Notation"; case 1: return "ItemOf"; case 2: return "Title"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItemRelationship > > IsClassifiedItemIn(); // INVERSE IfcClassificationItemRelationship::RelatedItems - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItemRelationship > > IsClassifyingItemIn(); // INVERSE IfcClassificationItemRelationship::RelatingItem + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcClassificationItemRelationship >::ptr IsClassifiedItemIn() const; // INVERSE IfcClassificationItemRelationship::RelatedItems + IfcTemplatedEntityList< IfcClassificationItemRelationship >::ptr IsClassifyingItemIn() const; // INVERSE IfcClassificationItemRelationship::RelatingItem bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassificationItem (IfcAbstractEntityPtr e); + IfcClassificationItem (IfcAbstractEntity* e); IfcClassificationItem (IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, IfcLabel v3_Title); - typedef IfcClassificationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > list; - typedef IfcTemplatedEntityList< IfcClassificationItem >::it it; + typedef IfcTemplatedEntityList< IfcClassificationItem > list; }; class IfcClassificationItemRelationship : public IfcUtil::IfcBaseEntity { public: - IfcClassificationItem* RelatingItem(); + IfcClassificationItem* RelatingItem() const; void setRelatingItem(IfcClassificationItem* v); - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > RelatedItems(); - void setRelatedItems(SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > v); + IfcTemplatedEntityList< IfcClassificationItem >::ptr RelatedItems() const; + void setRelatedItems(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingItem"; case 1: return "RelatedItems"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassificationItemRelationship (IfcAbstractEntityPtr e); - IfcClassificationItemRelationship (IfcClassificationItem* v1_RelatingItem, SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItem > > v2_RelatedItems); - typedef IfcClassificationItemRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationItemRelationship > > list; - typedef IfcTemplatedEntityList< IfcClassificationItemRelationship >::it it; + IfcClassificationItemRelationship (IfcAbstractEntity* e); + IfcClassificationItemRelationship (IfcClassificationItem* v1_RelatingItem, IfcTemplatedEntityList< IfcClassificationItem >::ptr v2_RelatedItems); + typedef IfcTemplatedEntityList< IfcClassificationItemRelationship > list; }; class IfcClassificationNotation : public IfcUtil::IfcBaseEntity { public: - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > NotationFacets(); - void setNotationFacets(SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > v); + IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr NotationFacets() const; + void setNotationFacets(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "NotationFacets"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassificationNotation (IfcAbstractEntityPtr e); - IfcClassificationNotation (SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > v1_NotationFacets); - typedef IfcClassificationNotation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotation > > list; - typedef IfcTemplatedEntityList< IfcClassificationNotation >::it it; + IfcClassificationNotation (IfcAbstractEntity* e); + IfcClassificationNotation (IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v1_NotationFacets); + typedef IfcTemplatedEntityList< IfcClassificationNotation > list; }; class IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { public: - IfcLabel NotationValue(); + IfcLabel NotationValue() const; void setNotationValue(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "NotationValue"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassificationNotationFacet (IfcAbstractEntityPtr e); + IfcClassificationNotationFacet (IfcAbstractEntity* e); IfcClassificationNotationFacet (IfcLabel v1_NotationValue); - typedef IfcClassificationNotationFacet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationNotationFacet > > list; - typedef IfcTemplatedEntityList< IfcClassificationNotationFacet >::it it; + typedef IfcTemplatedEntityList< IfcClassificationNotationFacet > list; }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -6143,25 +6103,23 @@ public: class IfcColourSpecification : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcColourSpecification - bool hasName(); + 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. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColourSpecification (IfcAbstractEntityPtr e); + IfcColourSpecification (IfcAbstractEntity* e); IfcColourSpecification (boost::optional< IfcLabel > v1_Name); - typedef IfcColourSpecification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourSpecification > > list; - typedef IfcTemplatedEntityList< IfcColourSpecification >::it it; + typedef IfcTemplatedEntityList< IfcColourSpecification > list; }; /// IfcConnectionGeometry is used to describe the geometric and topological constraints that facilitate the physical connection of two objects. It is envisioned as a control that applies to the element connection relationships. /// @@ -6182,15 +6140,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionGeometry (IfcAbstractEntityPtr e); + IfcConnectionGeometry (IfcAbstractEntity* e); IfcConnectionGeometry (); - typedef IfcConnectionGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionGeometry >::it it; + typedef IfcTemplatedEntityList< IfcConnectionGeometry > list; }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -6211,49 +6167,45 @@ public: class IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. - IfcPointOrVertexPoint PointOnRelatingElement(); + IfcPointOrVertexPoint PointOnRelatingElement() const; void setPointOnRelatingElement(IfcPointOrVertexPoint v); /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry - bool hasPointOnRelatedElement(); + bool hasPointOnRelatedElement() const; /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcPointOrVertexPoint PointOnRelatedElement(); + IfcPointOrVertexPoint PointOnRelatedElement() const; void setPointOnRelatedElement(IfcPointOrVertexPoint v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PointOnRelatingElement"; case 1: return "PointOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionPointGeometry (IfcAbstractEntityPtr e); + IfcConnectionPointGeometry (IfcAbstractEntity* e); IfcConnectionPointGeometry (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement); - typedef IfcConnectionPointGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPointGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionPointGeometry >::it it; + typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; }; class IfcConnectionPortGeometry : public IfcConnectionGeometry { public: - IfcAxis2Placement LocationAtRelatingElement(); + IfcAxis2Placement LocationAtRelatingElement() const; void setLocationAtRelatingElement(IfcAxis2Placement v); /// Whether the optional attribute LocationAtRelatedElement is defined for this IfcConnectionPortGeometry - bool hasLocationAtRelatedElement(); - IfcAxis2Placement LocationAtRelatedElement(); + bool hasLocationAtRelatedElement() const; + IfcAxis2Placement LocationAtRelatedElement() const; void setLocationAtRelatedElement(IfcAxis2Placement v); - IfcProfileDef* ProfileOfPort(); + IfcProfileDef* ProfileOfPort() const; void setProfileOfPort(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LocationAtRelatingElement"; case 1: return "LocationAtRelatedElement"; case 2: return "ProfileOfPort"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionPortGeometry (IfcAbstractEntityPtr e); + IfcConnectionPortGeometry (IfcAbstractEntity* e); IfcConnectionPortGeometry (IfcAxis2Placement v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort); - typedef IfcConnectionPortGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPortGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionPortGeometry >::it it; + 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. /// @@ -6266,25 +6218,23 @@ public: class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. - IfcSurfaceOrFaceSurface SurfaceOnRelatingElement(); + IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v); /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry - bool hasSurfaceOnRelatedElement(); + bool hasSurfaceOnRelatedElement() const; /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcSurfaceOrFaceSurface SurfaceOnRelatedElement(); + IfcSurfaceOrFaceSurface SurfaceOnRelatedElement() const; void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SurfaceOnRelatingElement"; case 1: return "SurfaceOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionSurfaceGeometry (IfcAbstractEntityPtr e); + IfcConnectionSurfaceGeometry (IfcAbstractEntity* e); IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement); - typedef IfcConnectionSurfaceGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry >::it it; + 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. /// @@ -6301,57 +6251,55 @@ public: class IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcConstraint - bool hasDescription(); + bool hasDescription() const; /// A description that may apply additional information about a constraint. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Enumeration that qualifies the type of constraint. - IfcConstraintEnum::IfcConstraintEnum ConstraintGrade(); + IfcConstraintEnum::IfcConstraintEnum ConstraintGrade() const; void setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint - bool hasConstraintSource(); + bool hasConstraintSource() const; /// Any source material, such as a code or standard, from which the constraint originated. - IfcLabel ConstraintSource(); + IfcLabel ConstraintSource() const; void setConstraintSource(IfcLabel v); /// Whether the optional attribute CreatingActor is defined for this IfcConstraint - bool hasCreatingActor(); + bool hasCreatingActor() const; /// Person and/or organization that has created the constraint. - IfcActorSelect CreatingActor(); + IfcActorSelect CreatingActor() const; void setCreatingActor(IfcActorSelect v); /// Whether the optional attribute CreationTime is defined for this IfcConstraint - bool hasCreationTime(); + bool hasCreationTime() const; /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - IfcDateTimeSelect CreationTime(); + IfcDateTimeSelect CreationTime() const; void setCreationTime(IfcDateTimeSelect v); /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint - bool hasUserDefinedGrade(); + bool hasUserDefinedGrade() const; /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - IfcLabel UserDefinedGrade(); + IfcLabel UserDefinedGrade() const; void setUserDefinedGrade(IfcLabel v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "ConstraintGrade"; case 3: return "ConstraintSource"; case 4: return "CreatingActor"; case 5: return "CreationTime"; case 6: return "UserDefinedGrade"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcConstraintClassificationRelationship > > ClassifiedAs(); // INVERSE IfcConstraintClassificationRelationship::ClassifiedConstraint - SHARED_PTR< IfcTemplatedEntityList< IfcConstraintRelationship > > RelatesConstraints(); // INVERSE IfcConstraintRelationship::RelatingConstraint - SHARED_PTR< IfcTemplatedEntityList< IfcConstraintRelationship > > IsRelatedWith(); // INVERSE IfcConstraintRelationship::RelatedConstraints - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyConstraintRelationship > > PropertiesForConstraint(); // INVERSE IfcPropertyConstraintRelationship::RelatingConstraint - SHARED_PTR< IfcTemplatedEntityList< IfcConstraintAggregationRelationship > > Aggregates(); // INVERSE IfcConstraintAggregationRelationship::RelatingConstraint - SHARED_PTR< IfcTemplatedEntityList< IfcConstraintAggregationRelationship > > IsAggregatedIn(); // INVERSE IfcConstraintAggregationRelationship::RelatedConstraints + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcConstraintClassificationRelationship >::ptr ClassifiedAs() const; // INVERSE IfcConstraintClassificationRelationship::ClassifiedConstraint + IfcTemplatedEntityList< IfcConstraintRelationship >::ptr RelatesConstraints() const; // INVERSE IfcConstraintRelationship::RelatingConstraint + IfcTemplatedEntityList< IfcConstraintRelationship >::ptr IsRelatedWith() const; // INVERSE IfcConstraintRelationship::RelatedConstraints + IfcTemplatedEntityList< IfcPropertyConstraintRelationship >::ptr PropertiesForConstraint() const; // INVERSE IfcPropertyConstraintRelationship::RelatingConstraint + IfcTemplatedEntityList< IfcConstraintAggregationRelationship >::ptr Aggregates() const; // INVERSE IfcConstraintAggregationRelationship::RelatingConstraint + IfcTemplatedEntityList< IfcConstraintAggregationRelationship >::ptr IsAggregatedIn() const; // INVERSE IfcConstraintAggregationRelationship::RelatedConstraints bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstraint (IfcAbstractEntityPtr e); + IfcConstraint (IfcAbstractEntity* e); IfcConstraint (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade); - typedef IfcConstraint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > list; - typedef IfcTemplatedEntityList< IfcConstraint >::it it; + typedef IfcTemplatedEntityList< IfcConstraint > list; }; /// An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically. /// @@ -6367,52 +6315,48 @@ public: class IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintAggregationRelationship - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcConstraintAggregationRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); - IfcConstraint* RelatingConstraint(); + IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); - SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > RelatedConstraints(); - void setRelatedConstraints(SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v); + IfcTemplatedEntityList< IfcConstraint >::ptr RelatedConstraints() const; + void setRelatedConstraints(IfcTemplatedEntityList< IfcConstraint >::ptr v); /// Enumeration that identifies the logical type of aggregation. - IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator(); + IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator() const; void setLogicalAggregator(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "RelatingConstraint"; case 3: return "RelatedConstraints"; case 4: return "LogicalAggregator"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstraintAggregationRelationship (IfcAbstractEntityPtr e); - IfcConstraintAggregationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator); - typedef IfcConstraintAggregationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraintAggregationRelationship > > list; - typedef IfcTemplatedEntityList< IfcConstraintAggregationRelationship >::it it; + IfcConstraintAggregationRelationship (IfcAbstractEntity* e); + IfcConstraintAggregationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator); + typedef IfcTemplatedEntityList< IfcConstraintAggregationRelationship > list; }; class IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { public: - IfcConstraint* ClassifiedConstraint(); + IfcConstraint* ClassifiedConstraint() const; void setClassifiedConstraint(IfcConstraint* v); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RelatedClassifications(); - void setRelatedClassifications(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedClassifications() const; + void setRelatedClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ClassifiedConstraint"; case 1: return "RelatedClassifications"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstraintClassificationRelationship (IfcAbstractEntityPtr e); - IfcConstraintClassificationRelationship (IfcConstraint* v1_ClassifiedConstraint, IfcEntities v2_RelatedClassifications); - typedef IfcConstraintClassificationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraintClassificationRelationship > > list; - typedef IfcTemplatedEntityList< IfcConstraintClassificationRelationship >::it it; + IfcConstraintClassificationRelationship (IfcAbstractEntity* e); + IfcConstraintClassificationRelationship (IfcConstraint* v1_ClassifiedConstraint, IfcEntityList::ptr v2_RelatedClassifications); + typedef IfcTemplatedEntityList< IfcConstraintClassificationRelationship > list; }; /// An IfcConstraintRelationship is an objectified relationship that enables instances of IfcConstraint and its /// subtypes to be associated to each other. Logical aggregation of instances of IfcConstraint and its subtypes is handled by the subtype IfcConstraintAggregationRelationship. @@ -6426,55 +6370,51 @@ public: class IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintRelationship - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcConstraintRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); /// Constraint with which the other Constraints referenced by attribute RelatedConstraints are related. - IfcConstraint* RelatingConstraint(); + IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); /// Constraints that are related with the one referenced as RelatingConstraint. - SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > RelatedConstraints(); - void setRelatedConstraints(SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v); + IfcTemplatedEntityList< IfcConstraint >::ptr RelatedConstraints() const; + void setRelatedConstraints(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "RelatingConstraint"; case 3: return "RelatedConstraints"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstraintRelationship (IfcAbstractEntityPtr e); - IfcConstraintRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v4_RelatedConstraints); - typedef IfcConstraintRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraintRelationship > > list; - typedef IfcTemplatedEntityList< IfcConstraintRelationship >::it it; + IfcConstraintRelationship (IfcAbstractEntity* e); + IfcConstraintRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints); + typedef IfcTemplatedEntityList< IfcConstraintRelationship > list; }; class IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { public: - IfcHourInDay HourOffset(); + IfcHourInDay HourOffset() const; void setHourOffset(IfcHourInDay v); /// Whether the optional attribute MinuteOffset is defined for this IfcCoordinatedUniversalTimeOffset - bool hasMinuteOffset(); - IfcMinuteInHour MinuteOffset(); + bool hasMinuteOffset() const; + IfcMinuteInHour MinuteOffset() const; void setMinuteOffset(IfcMinuteInHour v); - IfcAheadOrBehind::IfcAheadOrBehind Sense(); + IfcAheadOrBehind::IfcAheadOrBehind Sense() const; void setSense(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HourOffset"; case 1: return "MinuteOffset"; case 2: return "Sense"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoordinatedUniversalTimeOffset (IfcAbstractEntityPtr e); + IfcCoordinatedUniversalTimeOffset (IfcAbstractEntity* e); IfcCoordinatedUniversalTimeOffset (IfcHourInDay v1_HourOffset, boost::optional< IfcMinuteInHour > v2_MinuteOffset, IfcAheadOrBehind::IfcAheadOrBehind v3_Sense); - typedef IfcCoordinatedUniversalTimeOffset* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoordinatedUniversalTimeOffset > > list; - typedef IfcTemplatedEntityList< IfcCoordinatedUniversalTimeOffset >::it it; + typedef IfcTemplatedEntityList< IfcCoordinatedUniversalTimeOffset > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -6525,25 +6465,23 @@ public: /// NOTE: There are many possible types of cost value that may be identified. Whilst there is a broad understanding of the meaning of names that may be assigned to different types of costs, there is no general standard for naming cost types nor are there any broadly defined classifications. To allow for any type of cost value, the IfcLabel datatype is assigned. /// /// In the absence of any well defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. - IfcLabel CostType(); + IfcLabel CostType() const; void setCostType(IfcLabel v); /// Whether the optional attribute Condition is defined for this IfcCostValue - bool hasCondition(); + bool hasCondition() const; /// The condition under which a cost value applies. - IfcText Condition(); + IfcText Condition() const; void setCondition(IfcText v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; } return IfcAppliedValue::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "CostType"; case 7: return "Condition"; } return IfcAppliedValue::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCostValue (IfcAbstractEntityPtr e); + IfcCostValue (IfcAbstractEntity* e); IfcCostValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_CostType, boost::optional< IfcText > v8_Condition); - typedef IfcCostValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > list; - typedef IfcTemplatedEntityList< IfcCostValue >::it it; + typedef IfcTemplatedEntityList< IfcCostValue > list; }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -6559,36 +6497,34 @@ public: 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(); + IfcMonetaryUnit* RelatingMonetaryUnit() const; void setRelatingMonetaryUnit(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(); + IfcMonetaryUnit* RelatedMonetaryUnit() const; void setRelatedMonetaryUnit(IfcMonetaryUnit* v); /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). - IfcPositiveRatioMeasure ExchangeRate(); + IfcPositiveRatioMeasure ExchangeRate() const; void setExchangeRate(IfcPositiveRatioMeasure v); /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. - IfcDateAndTime* RateDateTime(); + IfcDateAndTime* RateDateTime() const; void setRateDateTime(IfcDateAndTime* v); /// Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship - bool hasRateSource(); + bool hasRateSource() const; /// The source from which an exchange rate is obtained. - IfcLibraryInformation* RateSource(); + IfcLibraryInformation* RateSource() const; void setRateSource(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingMonetaryUnit"; case 1: return "RelatedMonetaryUnit"; case 2: return "ExchangeRate"; case 3: return "RateDateTime"; case 4: return "RateSource"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurrencyRelationship (IfcAbstractEntityPtr e); + IfcCurrencyRelationship (IfcAbstractEntity* e); IfcCurrencyRelationship (IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, IfcPositiveRatioMeasure v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource); - typedef IfcCurrencyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurrencyRelationship > > list; - typedef IfcTemplatedEntityList< IfcCurrencyRelationship >::it it; + 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. /// @@ -6598,25 +6534,23 @@ public: class IfcCurveStyleFont : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFont - bool hasName(); + bool hasName() const; /// Name that may be assigned with the curve font. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel 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. - SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > PatternList(); - void setPatternList(SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v); + IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr PatternList() const; + void setPatternList(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "PatternList"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyleFont (IfcAbstractEntityPtr e); - IfcCurveStyleFont (boost::optional< IfcLabel > v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v2_PatternList); - typedef IfcCurveStyleFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFont > > list; - typedef IfcTemplatedEntityList< IfcCurveStyleFont >::it it; + IfcCurveStyleFont (IfcAbstractEntity* e); + IfcCurveStyleFont (boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList); + typedef IfcTemplatedEntityList< IfcCurveStyleFont > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -6632,28 +6566,26 @@ public: class IfcCurveStyleFontAndScaling : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling - bool hasName(); + bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// The curve font to be scaled. - IfcCurveStyleFontSelect CurveFont(); + IfcCurveStyleFontSelect CurveFont() const; void setCurveFont(IfcCurveStyleFontSelect v); /// The scale factor. - IfcPositiveRatioMeasure CurveFontScaling(); + IfcPositiveRatioMeasure CurveFontScaling() const; void setCurveFontScaling(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "CurveFont"; case 2: return "CurveFontScaling"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyleFontAndScaling (IfcAbstractEntityPtr e); + IfcCurveStyleFontAndScaling (IfcAbstractEntity* e); IfcCurveStyleFontAndScaling (boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling); - typedef IfcCurveStyleFontAndScaling* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > > list; - typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling >::it it; + typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -6667,43 +6599,39 @@ public: /// NOTE  For a visible segment representing a point, the value 0. should be assigned. /// /// IFC2x Edition 3 CHANGE  The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. - IfcLengthMeasure VisibleSegmentLength(); + IfcLengthMeasure VisibleSegmentLength() const; void setVisibleSegmentLength(IfcLengthMeasure v); /// The length of the invisible segment in the pattern definition. - IfcPositiveLengthMeasure InvisibleSegmentLength(); + IfcPositiveLengthMeasure InvisibleSegmentLength() const; void setInvisibleSegmentLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VisibleSegmentLength"; case 1: return "InvisibleSegmentLength"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyleFontPattern (IfcAbstractEntityPtr e); + IfcCurveStyleFontPattern (IfcAbstractEntity* e); IfcCurveStyleFontPattern (IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength); - typedef IfcCurveStyleFontPattern* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > list; - typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern >::it it; + typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern > list; }; class IfcDateAndTime : public IfcUtil::IfcBaseEntity { public: - IfcCalendarDate* DateComponent(); + IfcCalendarDate* DateComponent() const; void setDateComponent(IfcCalendarDate* v); - IfcLocalTime* TimeComponent(); + IfcLocalTime* TimeComponent() const; void setTimeComponent(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DateComponent"; case 1: return "TimeComponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDateAndTime (IfcAbstractEntityPtr e); + IfcDateAndTime (IfcAbstractEntity* e); IfcDateAndTime (IfcCalendarDate* v1_DateComponent, IfcLocalTime* v2_TimeComponent); - typedef IfcDateAndTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDateAndTime > > list; - typedef IfcTemplatedEntityList< IfcDateAndTime >::it it; + typedef IfcTemplatedEntityList< IfcDateAndTime > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -6715,27 +6643,25 @@ public: class IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. - SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > Elements(); - void setElements(SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v); + IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr Elements() const; + void setElements(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(); + IfcDerivedUnitEnum::IfcDerivedUnitEnum UnitType() const; void setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit - bool hasUserDefinedType(); - IfcLabel UserDefinedType(); + bool hasUserDefinedType() const; + IfcLabel UserDefinedType() const; void setUserDefinedType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; case 1: return "UnitType"; case 2: return "UserDefinedType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDerivedUnit (IfcAbstractEntityPtr e); - IfcDerivedUnit (SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType); - typedef IfcDerivedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnit > > list; - typedef IfcTemplatedEntityList< IfcDerivedUnit >::it it; + IfcDerivedUnit (IfcAbstractEntity* e); + IfcDerivedUnit (IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType); + typedef IfcTemplatedEntityList< IfcDerivedUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -6749,23 +6675,21 @@ public: class IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. - IfcNamedUnit* Unit(); + IfcNamedUnit* Unit() const; void setUnit(IfcNamedUnit* v); /// The power that is applied to the unit attribute. - int Exponent(); + int Exponent() const; void setExponent(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Unit"; case 1: return "Exponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDerivedUnitElement (IfcAbstractEntityPtr e); + IfcDerivedUnitElement (IfcAbstractEntity* e); IfcDerivedUnitElement (IfcNamedUnit* v1_Unit, int v2_Exponent); - typedef IfcDerivedUnitElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > list; - typedef IfcTemplatedEntityList< IfcDerivedUnitElement >::it it; + typedef IfcTemplatedEntityList< IfcDerivedUnitElement > list; }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -6787,38 +6711,36 @@ public: class IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. - int LengthExponent(); + int LengthExponent() const; void setLengthExponent(int v); /// The power of the mass base quantity. - int MassExponent(); + int MassExponent() const; void setMassExponent(int v); /// The power of the time base quantity. - int TimeExponent(); + int TimeExponent() const; void setTimeExponent(int v); /// The power of the electric current base quantity. - int ElectricCurrentExponent(); + int ElectricCurrentExponent() const; void setElectricCurrentExponent(int v); /// The power of the thermodynamic temperature base quantity. - int ThermodynamicTemperatureExponent(); + int ThermodynamicTemperatureExponent() const; void setThermodynamicTemperatureExponent(int v); /// The power of the amount of substance base quantity. - int AmountOfSubstanceExponent(); + int AmountOfSubstanceExponent() const; void setAmountOfSubstanceExponent(int v); /// The power of the luminous intensity base quantity. - int LuminousIntensityExponent(); + int LuminousIntensityExponent() const; void setLuminousIntensityExponent(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LengthExponent"; case 1: return "MassExponent"; case 2: return "TimeExponent"; case 3: return "ElectricCurrentExponent"; case 4: return "ThermodynamicTemperatureExponent"; case 5: return "AmountOfSubstanceExponent"; case 6: return "LuminousIntensityExponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionalExponents (IfcAbstractEntityPtr e); + IfcDimensionalExponents (IfcAbstractEntity* e); IfcDimensionalExponents (int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); - typedef IfcDimensionalExponents* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionalExponents > > list; - typedef IfcTemplatedEntityList< IfcDimensionalExponents >::it it; + typedef IfcTemplatedEntityList< IfcDimensionalExponents > list; }; /// IfcDocumentElectronicFormat captures the type of document being referenced as an external source, and for which metadata is specified by IfcDocumentInformation. /// @@ -6826,32 +6748,30 @@ public: class IfcDocumentElectronicFormat : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute FileExtension is defined for this IfcDocumentElectronicFormat - bool hasFileExtension(); + bool hasFileExtension() const; /// File extension of electronic document used by computer operating system. - IfcLabel FileExtension(); + IfcLabel FileExtension() const; void setFileExtension(IfcLabel v); /// Whether the optional attribute MimeContentType is defined for this IfcDocumentElectronicFormat - bool hasMimeContentType(); + bool hasMimeContentType() const; /// Main Mime type (as published by W3C or as user defined application type). - IfcLabel MimeContentType(); + IfcLabel MimeContentType() const; void setMimeContentType(IfcLabel v); /// Whether the optional attribute MimeSubtype is defined for this IfcDocumentElectronicFormat - bool hasMimeSubtype(); + bool hasMimeSubtype() const; /// Mime subtype information. - IfcLabel MimeSubtype(); + IfcLabel MimeSubtype() const; void setMimeSubtype(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "FileExtension"; case 1: return "MimeContentType"; case 2: return "MimeSubtype"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentElectronicFormat (IfcAbstractEntityPtr e); + IfcDocumentElectronicFormat (IfcAbstractEntity* e); IfcDocumentElectronicFormat (boost::optional< IfcLabel > v1_FileExtension, boost::optional< IfcLabel > v2_MimeContentType, boost::optional< IfcLabel > v3_MimeSubtype); - typedef IfcDocumentElectronicFormat* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentElectronicFormat > > list; - typedef IfcTemplatedEntityList< IfcDocumentElectronicFormat >::it it; + typedef IfcTemplatedEntityList< IfcDocumentElectronicFormat > list; }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// @@ -6859,111 +6779,109 @@ public: class IfcDocumentInformation : public IfcUtil::IfcBaseEntity { public: /// Identifier that uniquely identifies a document. - IfcIdentifier DocumentId(); + IfcIdentifier DocumentId() const; void setDocumentId(IfcIdentifier v); /// File name or document name assigned by owner. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcDocumentInformation - bool hasDescription(); + bool hasDescription() const; /// Description of document and its content. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute DocumentReferences is defined for this IfcDocumentInformation - bool hasDocumentReferences(); - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > DocumentReferences(); - void setDocumentReferences(SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > v); + 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(); + bool hasPurpose() const; /// Purpose for this document. - IfcText Purpose(); + IfcText Purpose() const; void setPurpose(IfcText v); /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation - bool hasIntendedUse(); + bool hasIntendedUse() const; /// Intended use for this document. - IfcText IntendedUse(); + IfcText IntendedUse() const; void setIntendedUse(IfcText v); /// Whether the optional attribute Scope is defined for this IfcDocumentInformation - bool hasScope(); + bool hasScope() const; /// Scope for this document. - IfcText Scope(); + IfcText Scope() const; void setScope(IfcText v); /// Whether the optional attribute Revision is defined for this IfcDocumentInformation - bool hasRevision(); + bool hasRevision() const; /// Document revision designation. - IfcLabel Revision(); + IfcLabel Revision() const; void setRevision(IfcLabel v); /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation - bool hasDocumentOwner(); + bool hasDocumentOwner() const; /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. - IfcActorSelect DocumentOwner(); + IfcActorSelect DocumentOwner() const; void setDocumentOwner(IfcActorSelect v); /// Whether the optional attribute Editors is defined for this IfcDocumentInformation - bool hasEditors(); + bool hasEditors() const; /// The persons and/or organizations who have created this document or contributed to it. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Editors(); - void setEditors(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Editors() const; + void setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation - bool hasCreationTime(); + bool hasCreationTime() const; /// Date and time stamp when the document was originally created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateAndTime* CreationTime(); + IfcDateAndTime* CreationTime() const; void setCreationTime(IfcDateAndTime* v); /// Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation - bool hasLastRevisionTime(); + bool hasLastRevisionTime() const; /// Date and time stamp when this document version was created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateAndTime* LastRevisionTime(); + IfcDateAndTime* LastRevisionTime() const; void setLastRevisionTime(IfcDateAndTime* v); /// Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation - bool hasElectronicFormat(); + bool hasElectronicFormat() const; /// Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided. - IfcDocumentElectronicFormat* ElectronicFormat(); + IfcDocumentElectronicFormat* ElectronicFormat() const; void setElectronicFormat(IfcDocumentElectronicFormat* v); /// Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation - bool hasValidFrom(); + bool hasValidFrom() const; /// Date when the document becomes valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* ValidFrom(); + IfcCalendarDate* ValidFrom() const; void setValidFrom(IfcCalendarDate* v); /// Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation - bool hasValidUntil(); + bool hasValidUntil() const; /// Date until which the document remains valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* ValidUntil(); + IfcCalendarDate* ValidUntil() const; void setValidUntil(IfcCalendarDate* v); /// Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation - bool hasConfidentiality(); + bool hasConfidentiality() const; /// The level of confidentiality of the document. - IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum Confidentiality(); + IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum Confidentiality() const; void setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v); /// Whether the optional attribute Status is defined for this IfcDocumentInformation - bool hasStatus(); + bool hasStatus() const; /// 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(); + IfcDocumentStatusEnum::IfcDocumentStatusEnum Status() const; void setStatus(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DocumentId"; case 1: return "Name"; case 2: return "Description"; case 3: return "DocumentReferences"; case 4: return "Purpose"; case 5: return "IntendedUse"; case 6: return "Scope"; case 7: return "Revision"; case 8: return "DocumentOwner"; case 9: return "Editors"; case 10: return "CreationTime"; case 11: return "LastRevisionTime"; case 12: return "ElectronicFormat"; case 13: return "ValidFrom"; case 14: return "ValidUntil"; case 15: return "Confidentiality"; case 16: return "Status"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > IsPointedTo(); // INVERSE IfcDocumentInformationRelationship::RelatedDocuments - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > IsPointer(); // INVERSE IfcDocumentInformationRelationship::RelatingDocument + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcDocumentInformationRelationship >::ptr IsPointedTo() const; // INVERSE IfcDocumentInformationRelationship::RelatedDocuments + IfcTemplatedEntityList< IfcDocumentInformationRelationship >::ptr IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentInformation (IfcAbstractEntityPtr e); - IfcDocumentInformation (IfcIdentifier v1_DocumentId, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > > v4_DocumentReferences, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntities > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); - typedef IfcDocumentInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > list; - typedef IfcTemplatedEntityList< IfcDocumentInformation >::it it; + IfcDocumentInformation (IfcAbstractEntity* e); + IfcDocumentInformation (IfcIdentifier v1_DocumentId, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); + typedef IfcTemplatedEntityList< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -6976,80 +6894,74 @@ public: class IfcDocumentInformationRelationship : public IfcUtil::IfcBaseEntity { public: /// The document that acts as the parent, referencing or original document in a relationship. - IfcDocumentInformation* RelatingDocument(); + IfcDocumentInformation* RelatingDocument() const; void setRelatingDocument(IfcDocumentInformation* v); /// The document that acts as the child, referenced or replacing document in a relationship. - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > RelatedDocuments(); - void setRelatedDocuments(SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v); + IfcTemplatedEntityList< IfcDocumentInformation >::ptr RelatedDocuments() const; + void setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v); /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship - bool hasRelationshipType(); + bool hasRelationshipType() const; /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - IfcLabel RelationshipType(); + IfcLabel RelationshipType() const; void setRelationshipType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingDocument"; case 1: return "RelatedDocuments"; case 2: return "RelationshipType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentInformationRelationship (IfcAbstractEntityPtr e); - IfcDocumentInformationRelationship (IfcDocumentInformation* v1_RelatingDocument, SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v2_RelatedDocuments, boost::optional< IfcLabel > v3_RelationshipType); - typedef IfcDocumentInformationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > list; - typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship >::it it; + IfcDocumentInformationRelationship (IfcAbstractEntity* e); + IfcDocumentInformationRelationship (IfcDocumentInformation* v1_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< IfcLabel > v3_RelationshipType); + typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship > list; }; class IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcDraughtingCalloutRelationship - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcDraughtingCalloutRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); - IfcDraughtingCallout* RelatingDraughtingCallout(); + IfcDraughtingCallout* RelatingDraughtingCallout() const; void setRelatingDraughtingCallout(IfcDraughtingCallout* v); - IfcDraughtingCallout* RelatedDraughtingCallout(); + IfcDraughtingCallout* RelatedDraughtingCallout() const; void setRelatedDraughtingCallout(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "RelatingDraughtingCallout"; case 3: return "RelatedDraughtingCallout"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingCalloutRelationship (IfcAbstractEntityPtr e); + IfcDraughtingCalloutRelationship (IfcAbstractEntity* e); IfcDraughtingCalloutRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); - typedef IfcDraughtingCalloutRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > > list; - typedef IfcTemplatedEntityList< IfcDraughtingCalloutRelationship >::it it; + typedef IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > list; }; class IfcEnvironmentalImpactValue : public IfcAppliedValue { public: - IfcLabel ImpactType(); + IfcLabel ImpactType() const; void setImpactType(IfcLabel v); - IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum Category(); + IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum Category() const; void setCategory(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v); /// Whether the optional attribute UserDefinedCategory is defined for this IfcEnvironmentalImpactValue - bool hasUserDefinedCategory(); - IfcLabel UserDefinedCategory(); + bool hasUserDefinedCategory() const; + IfcLabel UserDefinedCategory() const; void setUserDefinedCategory(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcAppliedValue::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ImpactType"; case 7: return "Category"; case 8: return "UserDefinedCategory"; } return IfcAppliedValue::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEnvironmentalImpactValue (IfcAbstractEntityPtr e); + IfcEnvironmentalImpactValue (IfcAbstractEntity* e); IfcEnvironmentalImpactValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< IfcLabel > v9_UserDefinedCategory); - typedef IfcEnvironmentalImpactValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnvironmentalImpactValue > > list; - typedef IfcTemplatedEntityList< IfcEnvironmentalImpactValue >::it it; + 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 /// dictionary entry, a classification notation, or a document reference within the external source. @@ -7063,33 +6975,31 @@ public: class IfcExternalReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Location is defined for this IfcExternalReference - bool hasLocation(); + 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. - IfcLabel Location(); + IfcLabel Location() const; void setLocation(IfcLabel v); /// Whether the optional attribute ItemReference is defined for this IfcExternalReference - bool hasItemReference(); - IfcIdentifier ItemReference(); + bool hasItemReference() const; + IfcIdentifier ItemReference() const; void setItemReference(IfcIdentifier v); /// Whether the optional attribute Name is defined for this IfcExternalReference - bool hasName(); + bool hasName() const; /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Location"; case 1: return "ItemReference"; case 2: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternalReference (IfcAbstractEntityPtr e); + IfcExternalReference (IfcAbstractEntity* e); IfcExternalReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcExternalReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalReference > > list; - typedef IfcTemplatedEntityList< IfcExternalReference >::it it; + typedef IfcTemplatedEntityList< IfcExternalReference > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -7104,15 +7014,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedHatchStyle (IfcAbstractEntityPtr e); + IfcExternallyDefinedHatchStyle (IfcAbstractEntity* e); IfcExternallyDefinedHatchStyle (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedHatchStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > list; }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -7126,15 +7034,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedSurfaceStyle (IfcAbstractEntityPtr e); + IfcExternallyDefinedSurfaceStyle (IfcAbstractEntity* e); IfcExternallyDefinedSurfaceStyle (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedSurfaceStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > list; }; /// An externally defined symbol is a symbol that gets its shape information by an agreed reference to an external source. /// @@ -7150,15 +7056,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedSymbol (IfcAbstractEntityPtr e); + IfcExternallyDefinedSymbol (IfcAbstractEntity* e); IfcExternallyDefinedSymbol (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedSymbol > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedSymbol >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedSymbol > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -7172,15 +7076,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedTextFont (IfcAbstractEntityPtr e); + IfcExternallyDefinedTextFont (IfcAbstractEntity* e); IfcExternallyDefinedTextFont (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedTextFont > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont > list; }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -7208,32 +7110,30 @@ public: class IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis - bool hasAxisTag(); + bool hasAxisTag() const; /// The tag or name for this grid axis. - IfcLabel AxisTag(); + IfcLabel AxisTag() const; void setAxisTag(IfcLabel v); /// Underlying curve which provides the geometry for this grid axis. - IfcCurve* AxisCurve(); + IfcCurve* AxisCurve() const; void setAxisCurve(IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. - IfcBoolean SameSense(); + IfcBoolean SameSense() const; void setSameSense(IfcBoolean v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "AxisTag"; case 1: return "AxisCurve"; case 2: return "SameSense"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfW(); // INVERSE IfcGrid::WAxes - SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfV(); // INVERSE IfcGrid::VAxes - SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfU(); // INVERSE IfcGrid::UAxes - SHARED_PTR< IfcTemplatedEntityList< IfcVirtualGridIntersection > > HasIntersections(); // INVERSE IfcVirtualGridIntersection::IntersectingAxes + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcGrid >::ptr PartOfW() const; // INVERSE IfcGrid::WAxes + IfcTemplatedEntityList< IfcGrid >::ptr PartOfV() const; // INVERSE IfcGrid::VAxes + IfcTemplatedEntityList< IfcGrid >::ptr PartOfU() const; // INVERSE IfcGrid::UAxes + IfcTemplatedEntityList< IfcVirtualGridIntersection >::ptr HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGridAxis (IfcAbstractEntityPtr e); + IfcGridAxis (IfcAbstractEntity* e); IfcGridAxis (boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense); - typedef IfcGridAxis* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > list; - typedef IfcTemplatedEntityList< IfcGridAxis >::it it; + typedef IfcTemplatedEntityList< IfcGridAxis > list; }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// @@ -7241,23 +7141,21 @@ public: class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. - IfcDateTimeSelect TimeStamp(); + IfcDateTimeSelect TimeStamp() const; void setTimeStamp(IfcDateTimeSelect v); /// A list of time-series values. At least one value is required. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ListValues(); - void setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; + void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TimeStamp"; case 1: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIrregularTimeSeriesValue (IfcAbstractEntityPtr e); - IfcIrregularTimeSeriesValue (IfcDateTimeSelect v1_TimeStamp, IfcEntities v2_ListValues); - typedef IfcIrregularTimeSeriesValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > list; - typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::it it; + IfcIrregularTimeSeriesValue (IfcAbstractEntity* e); + IfcIrregularTimeSeriesValue (IfcDateTimeSelect v1_TimeStamp, IfcEntityList::ptr v2_ListValues); + typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > list; }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -7270,41 +7168,39 @@ public: class IfcLibraryInformation : public IfcUtil::IfcBaseEntity { public: /// The name which is used to identify the library. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Version is defined for this IfcLibraryInformation - bool hasVersion(); + bool hasVersion() const; /// Identifier for the library version used for reference. - IfcLabel Version(); + IfcLabel Version() const; void setVersion(IfcLabel v); /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation - bool hasPublisher(); + bool hasPublisher() const; /// Information of the organization that acts as the library publisher. - IfcOrganization* Publisher(); + IfcOrganization* Publisher() const; void setPublisher(IfcOrganization* v); /// Whether the optional attribute VersionDate is defined for this IfcLibraryInformation - bool hasVersionDate(); + bool hasVersionDate() const; /// Date of the referenced version of the library. /// /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. - IfcCalendarDate* VersionDate(); + IfcCalendarDate* VersionDate() const; void setVersionDate(IfcCalendarDate* v); /// Whether the optional attribute LibraryReference is defined for this IfcLibraryInformation - bool hasLibraryReference(); - SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > LibraryReference(); - void setLibraryReference(SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > v); + bool hasLibraryReference() const; + IfcTemplatedEntityList< IfcLibraryReference >::ptr LibraryReference() const; + void setLibraryReference(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Version"; case 2: return "Publisher"; case 3: return "VersionDate"; case 4: return "LibraryReference"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLibraryInformation (IfcAbstractEntityPtr e); - IfcLibraryInformation (IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > > v5_LibraryReference); - typedef IfcLibraryInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLibraryInformation > > list; - typedef IfcTemplatedEntityList< IfcLibraryInformation >::it it; + IfcLibraryInformation (IfcAbstractEntity* e); + IfcLibraryInformation (IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference); + 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. /// @@ -7318,16 +7214,14 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcLibraryInformation > > ReferenceIntoLibrary(); // INVERSE IfcLibraryInformation::LibraryReference + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcLibraryInformation >::ptr ReferenceIntoLibrary() const; // INVERSE IfcLibraryInformation::LibraryReference bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLibraryReference (IfcAbstractEntityPtr e); + IfcLibraryReference (IfcAbstractEntity* e); IfcLibraryReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcLibraryReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > list; - typedef IfcTemplatedEntityList< IfcLibraryReference >::it it; + 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 /// @@ -7347,28 +7241,26 @@ public: class IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). - IfcPlaneAngleMeasure MainPlaneAngle(); + IfcPlaneAngleMeasure MainPlaneAngle() const; void setMainPlaneAngle(IfcPlaneAngleMeasure v); /// The list of secondary plane angles (the α, β or γ angles) according to the light distribution curve chosen. /// /// NOTE: The SecondaryPlaneAngle and LuminousIntensity lists are corresponding lists. - std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle(); + std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle() const; void setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. - std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity(); + std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity() const; void setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MainPlaneAngle"; case 1: return "SecondaryPlaneAngle"; case 2: return "LuminousIntensity"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightDistributionData (IfcAbstractEntityPtr e); + IfcLightDistributionData (IfcAbstractEntity* e); IfcLightDistributionData (IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity); - typedef IfcLightDistributionData* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > list; - typedef IfcTemplatedEntityList< IfcLightDistributionData >::it it; + typedef IfcTemplatedEntityList< IfcLightDistributionData > list; }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// @@ -7376,57 +7268,53 @@ public: 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(); + IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve() const; void setLightDistributionCurve(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. - SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > DistributionData(); - void setDistributionData(SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > v); + IfcTemplatedEntityList< IfcLightDistributionData >::ptr DistributionData() const; + void setDistributionData(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LightDistributionCurve"; case 1: return "DistributionData"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightIntensityDistribution (IfcAbstractEntityPtr e); - IfcLightIntensityDistribution (IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > v2_DistributionData); - typedef IfcLightIntensityDistribution* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightIntensityDistribution > > list; - typedef IfcTemplatedEntityList< IfcLightIntensityDistribution >::it it; + IfcLightIntensityDistribution (IfcAbstractEntity* e); + IfcLightIntensityDistribution (IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, IfcTemplatedEntityList< IfcLightDistributionData >::ptr v2_DistributionData); + typedef IfcTemplatedEntityList< IfcLightIntensityDistribution > list; }; class IfcLocalTime : public IfcUtil::IfcBaseEntity { public: - IfcHourInDay HourComponent(); + IfcHourInDay HourComponent() const; void setHourComponent(IfcHourInDay v); /// Whether the optional attribute MinuteComponent is defined for this IfcLocalTime - bool hasMinuteComponent(); - IfcMinuteInHour MinuteComponent(); + bool hasMinuteComponent() const; + IfcMinuteInHour MinuteComponent() const; void setMinuteComponent(IfcMinuteInHour v); /// Whether the optional attribute SecondComponent is defined for this IfcLocalTime - bool hasSecondComponent(); - IfcSecondInMinute SecondComponent(); + bool hasSecondComponent() const; + IfcSecondInMinute SecondComponent() const; void setSecondComponent(IfcSecondInMinute v); /// Whether the optional attribute Zone is defined for this IfcLocalTime - bool hasZone(); - IfcCoordinatedUniversalTimeOffset* Zone(); + bool hasZone() const; + IfcCoordinatedUniversalTimeOffset* Zone() const; void setZone(IfcCoordinatedUniversalTimeOffset* v); /// Whether the optional attribute DaylightSavingOffset is defined for this IfcLocalTime - bool hasDaylightSavingOffset(); - IfcDaylightSavingHour DaylightSavingOffset(); + bool hasDaylightSavingOffset() const; + IfcDaylightSavingHour DaylightSavingOffset() const; void setDaylightSavingOffset(IfcDaylightSavingHour v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HourComponent"; case 1: return "MinuteComponent"; case 2: return "SecondComponent"; case 3: return "Zone"; case 4: return "DaylightSavingOffset"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLocalTime (IfcAbstractEntityPtr e); + IfcLocalTime (IfcAbstractEntity* e); IfcLocalTime (IfcHourInDay v1_HourComponent, boost::optional< IfcMinuteInHour > v2_MinuteComponent, boost::optional< IfcSecondInMinute > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< IfcDaylightSavingHour > v5_DaylightSavingOffset); - typedef IfcLocalTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLocalTime > > list; - typedef IfcTemplatedEntityList< IfcLocalTime >::it it; + typedef IfcTemplatedEntityList< IfcLocalTime > list; }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -7462,22 +7350,20 @@ public: /// EXAMPLE A view definition may require Material.Name to uniquely specify e.g. concrete or steel grade, in which case the attribute Material.Category could take the value 'Concrete' or 'Steel'. /// /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > > HasRepresentation(); // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialClassificationRelationship > > ClassifiedAs(); // INVERSE IfcMaterialClassificationRelationship::ClassifiedMaterial + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation >::ptr HasRepresentation() const; // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial + IfcTemplatedEntityList< IfcMaterialClassificationRelationship >::ptr ClassifiedAs() const; // INVERSE IfcMaterialClassificationRelationship::ClassifiedMaterial bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterial (IfcAbstractEntityPtr e); + IfcMaterial (IfcAbstractEntity* e); IfcMaterial (IfcLabel v1_Name); - typedef IfcMaterial* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > list; - typedef IfcTemplatedEntityList< IfcMaterial >::it it; + typedef IfcTemplatedEntityList< IfcMaterial > list; }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -7487,23 +7373,21 @@ public: class IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > MaterialClassifications(); - void setMaterialClassifications(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Material being classified. - IfcMaterial* ClassifiedMaterial(); + IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MaterialClassifications"; case 1: return "ClassifiedMaterial"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialClassificationRelationship (IfcAbstractEntityPtr e); - IfcMaterialClassificationRelationship (IfcEntities v1_MaterialClassifications, IfcMaterial* v2_ClassifiedMaterial); - typedef IfcMaterialClassificationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialClassificationRelationship > > list; - typedef IfcTemplatedEntityList< IfcMaterialClassificationRelationship >::it it; + IfcMaterialClassificationRelationship (IfcAbstractEntity* e); + IfcMaterialClassificationRelationship (IfcEntityList::ptr v1_MaterialClassifications, IfcMaterial* v2_ClassifiedMaterial); + typedef IfcTemplatedEntityList< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -7531,39 +7415,37 @@ public: class IfcMaterialLayer : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Material is defined for this IfcMaterialLayer - bool hasMaterial(); + 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(); + IfcMaterial* Material() const; void setMaterial(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. - IfcPositiveLengthMeasure LayerThickness(); + IfcPositiveLengthMeasure LayerThickness() const; void setLayerThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer - bool hasIsVentilated(); + bool hasIsVentilated() const; /// 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). - IfcLogical IsVentilated(); + IfcLogical IsVentilated() const; void setIsVentilated(IfcLogical v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Material"; case 1: return "LayerThickness"; case 2: return "IsVentilated"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSet > > ToMaterialLayerSet(); // INVERSE IfcMaterialLayerSet::MaterialLayers + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMaterialLayerSet >::ptr ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayer (IfcAbstractEntityPtr e); + IfcMaterialLayer (IfcAbstractEntity* e); IfcMaterialLayer (IfcMaterial* v1_Material, IfcPositiveLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated); - typedef IfcMaterialLayer* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayer >::it it; + 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. /// @@ -7601,25 +7483,23 @@ public: class IfcMaterialLayerSet : public IfcUtil::IfcBaseEntity { public: /// Identification of the layers from which the material layer set is composed. - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > MaterialLayers(); - void setMaterialLayers(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v); + IfcTemplatedEntityList< IfcMaterialLayer >::ptr MaterialLayers() const; + void setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v); /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet - bool hasLayerSetName(); + bool hasLayerSetName() const; /// The name by which the material layer set is known. - IfcLabel LayerSetName(); + IfcLabel LayerSetName() const; void setLayerSetName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MaterialLayers"; case 1: return "LayerSetName"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayerSet (IfcAbstractEntityPtr e); - IfcMaterialLayerSet (SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName); - typedef IfcMaterialLayerSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSet > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayerSet >::it it; + IfcMaterialLayerSet (IfcAbstractEntity* e); + IfcMaterialLayerSet (IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName); + typedef IfcTemplatedEntityList< IfcMaterialLayerSet > list; }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -7724,34 +7604,32 @@ public: class IfcMaterialLayerSetUsage : public IfcUtil::IfcBaseEntity { public: /// The IfcMaterialLayerSet set to which the usage is applied. - IfcMaterialLayerSet* ForLayerSet(); + IfcMaterialLayerSet* ForLayerSet() const; void setForLayerSet(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(); + IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum LayerSetDirection() const; void setLayerSetDirection(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(); + IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. - IfcLengthMeasure OffsetFromReferenceLine(); + IfcLengthMeasure OffsetFromReferenceLine() const; void setOffsetFromReferenceLine(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ForLayerSet"; case 1: return "LayerSetDirection"; case 2: return "DirectionSense"; case 3: return "OffsetFromReferenceLine"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayerSetUsage (IfcAbstractEntityPtr e); + IfcMaterialLayerSetUsage (IfcAbstractEntity* e); IfcMaterialLayerSetUsage (IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine); - typedef IfcMaterialLayerSetUsage* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSetUsage > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage >::it it; + typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage > list; }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -7773,20 +7651,18 @@ public: class IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. - SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > Materials(); - void setMaterials(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v); + IfcTemplatedEntityList< IfcMaterial >::ptr Materials() const; + void setMaterials(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Materials"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialList (IfcAbstractEntityPtr e); - IfcMaterialList (SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v1_Materials); - typedef IfcMaterialList* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialList > > list; - typedef IfcTemplatedEntityList< IfcMaterialList >::it it; + IfcMaterialList (IfcAbstractEntity* e); + IfcMaterialList (IfcTemplatedEntityList< IfcMaterial >::ptr v1_Materials); + typedef IfcTemplatedEntityList< IfcMaterialList > list; }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -7815,20 +7691,18 @@ public: /// Reference to the material definition to which the set of properties is assigned. /// /// IFC2x4 CHANGE The datatype has been changed to supertype IfcMaterialDefinition. - IfcMaterial* Material(); + IfcMaterial* Material() const; void setMaterial(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Material"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProperties (IfcAbstractEntityPtr e); + IfcMaterialProperties (IfcAbstractEntity* e); IfcMaterialProperties (IfcMaterial* v1_Material); - typedef IfcMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcMaterialProperties > list; }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -7843,103 +7717,97 @@ public: class IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. - IfcValue ValueComponent(); + IfcValue ValueComponent() const; void setValueComponent(IfcValue v); /// The unit in which the physical quantity is expressed. - IfcUnit UnitComponent(); + IfcUnit UnitComponent() const; void setUnitComponent(IfcUnit v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ValueComponent"; case 1: return "UnitComponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMeasureWithUnit (IfcAbstractEntityPtr e); + IfcMeasureWithUnit (IfcAbstractEntity* e); IfcMeasureWithUnit (IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent); - typedef IfcMeasureWithUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMeasureWithUnit > > list; - typedef IfcTemplatedEntityList< IfcMeasureWithUnit >::it it; + typedef IfcTemplatedEntityList< IfcMeasureWithUnit > list; }; class IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute DynamicViscosity is defined for this IfcMechanicalMaterialProperties - bool hasDynamicViscosity(); - IfcDynamicViscosityMeasure DynamicViscosity(); + bool hasDynamicViscosity() const; + IfcDynamicViscosityMeasure DynamicViscosity() const; void setDynamicViscosity(IfcDynamicViscosityMeasure v); /// Whether the optional attribute YoungModulus is defined for this IfcMechanicalMaterialProperties - bool hasYoungModulus(); - IfcModulusOfElasticityMeasure YoungModulus(); + bool hasYoungModulus() const; + IfcModulusOfElasticityMeasure YoungModulus() const; void setYoungModulus(IfcModulusOfElasticityMeasure v); /// Whether the optional attribute ShearModulus is defined for this IfcMechanicalMaterialProperties - bool hasShearModulus(); - IfcModulusOfElasticityMeasure ShearModulus(); + bool hasShearModulus() const; + IfcModulusOfElasticityMeasure ShearModulus() const; void setShearModulus(IfcModulusOfElasticityMeasure v); /// Whether the optional attribute PoissonRatio is defined for this IfcMechanicalMaterialProperties - bool hasPoissonRatio(); - IfcPositiveRatioMeasure PoissonRatio(); + bool hasPoissonRatio() const; + IfcPositiveRatioMeasure PoissonRatio() const; void setPoissonRatio(IfcPositiveRatioMeasure v); /// Whether the optional attribute ThermalExpansionCoefficient is defined for this IfcMechanicalMaterialProperties - bool hasThermalExpansionCoefficient(); - IfcThermalExpansionCoefficientMeasure ThermalExpansionCoefficient(); + bool hasThermalExpansionCoefficient() const; + IfcThermalExpansionCoefficientMeasure ThermalExpansionCoefficient() const; void setThermalExpansionCoefficient(IfcThermalExpansionCoefficientMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DynamicViscosity"; case 2: return "YoungModulus"; case 3: return "ShearModulus"; case 4: return "PoissonRatio"; case 5: return "ThermalExpansionCoefficient"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalMaterialProperties (IfcAbstractEntityPtr e); + IfcMechanicalMaterialProperties (IfcAbstractEntity* e); IfcMechanicalMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient); - typedef IfcMechanicalMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcMechanicalMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcMechanicalMaterialProperties > list; }; class IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialProperties { public: /// Whether the optional attribute YieldStress is defined for this IfcMechanicalSteelMaterialProperties - bool hasYieldStress(); - IfcPressureMeasure YieldStress(); + bool hasYieldStress() const; + IfcPressureMeasure YieldStress() const; void setYieldStress(IfcPressureMeasure v); /// Whether the optional attribute UltimateStress is defined for this IfcMechanicalSteelMaterialProperties - bool hasUltimateStress(); - IfcPressureMeasure UltimateStress(); + bool hasUltimateStress() const; + IfcPressureMeasure UltimateStress() const; void setUltimateStress(IfcPressureMeasure v); /// Whether the optional attribute UltimateStrain is defined for this IfcMechanicalSteelMaterialProperties - bool hasUltimateStrain(); - IfcPositiveRatioMeasure UltimateStrain(); + bool hasUltimateStrain() const; + IfcPositiveRatioMeasure UltimateStrain() const; void setUltimateStrain(IfcPositiveRatioMeasure v); /// Whether the optional attribute HardeningModule is defined for this IfcMechanicalSteelMaterialProperties - bool hasHardeningModule(); - IfcModulusOfElasticityMeasure HardeningModule(); + bool hasHardeningModule() const; + IfcModulusOfElasticityMeasure HardeningModule() const; void setHardeningModule(IfcModulusOfElasticityMeasure v); /// Whether the optional attribute ProportionalStress is defined for this IfcMechanicalSteelMaterialProperties - bool hasProportionalStress(); - IfcPressureMeasure ProportionalStress(); + bool hasProportionalStress() const; + IfcPressureMeasure ProportionalStress() const; void setProportionalStress(IfcPressureMeasure v); /// Whether the optional attribute PlasticStrain is defined for this IfcMechanicalSteelMaterialProperties - bool hasPlasticStrain(); - IfcPositiveRatioMeasure PlasticStrain(); + bool hasPlasticStrain() const; + IfcPositiveRatioMeasure PlasticStrain() const; void setPlasticStrain(IfcPositiveRatioMeasure v); /// Whether the optional attribute Relaxations is defined for this IfcMechanicalSteelMaterialProperties - bool hasRelaxations(); - SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > Relaxations(); - void setRelaxations(SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > v); + bool hasRelaxations() const; + IfcTemplatedEntityList< IfcRelaxation >::ptr Relaxations() const; + void setRelaxations(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "YieldStress"; case 7: return "UltimateStress"; case 8: return "UltimateStrain"; case 9: return "HardeningModule"; case 10: return "ProportionalStress"; case 11: return "PlasticStrain"; case 12: return "Relaxations"; } return IfcMechanicalMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalSteelMaterialProperties (IfcAbstractEntityPtr e); - IfcMechanicalSteelMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_YieldStress, boost::optional< IfcPressureMeasure > v8_UltimateStress, boost::optional< IfcPositiveRatioMeasure > v9_UltimateStrain, boost::optional< IfcModulusOfElasticityMeasure > v10_HardeningModule, boost::optional< IfcPressureMeasure > v11_ProportionalStress, boost::optional< IfcPositiveRatioMeasure > v12_PlasticStrain, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > > v13_Relaxations); - typedef IfcMechanicalSteelMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalSteelMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcMechanicalSteelMaterialProperties >::it it; + IfcMechanicalSteelMaterialProperties (IfcAbstractEntity* e); + IfcMechanicalSteelMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_YieldStress, boost::optional< IfcPressureMeasure > v8_UltimateStress, boost::optional< IfcPositiveRatioMeasure > v9_UltimateStrain, boost::optional< IfcModulusOfElasticityMeasure > v10_HardeningModule, boost::optional< IfcPressureMeasure > v11_ProportionalStress, boost::optional< IfcPositiveRatioMeasure > v12_PlasticStrain, boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v13_Relaxations); + typedef IfcTemplatedEntityList< IfcMechanicalSteelMaterialProperties > list; }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -7996,28 +7864,26 @@ public: class IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. - IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark(); + IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark() const; void setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v); /// Whether the optional attribute ValueSource is defined for this IfcMetric - bool hasValueSource(); + bool hasValueSource() const; /// Reference source for data values. - IfcLabel ValueSource(); + IfcLabel ValueSource() const; void setValueSource(IfcLabel v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. - IfcMetricValueSelect DataValue(); + IfcMetricValueSelect DataValue() const; void setDataValue(IfcMetricValueSelect v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_ENTITY; } return IfcConstraint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Benchmark"; case 8: return "ValueSource"; case 9: return "DataValue"; } return IfcConstraint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMetric (IfcAbstractEntityPtr e); + IfcMetric (IfcAbstractEntity* e); IfcMetric (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue); - typedef IfcMetric* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMetric > > list; - typedef IfcTemplatedEntityList< IfcMetric >::it it; + typedef IfcTemplatedEntityList< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -8027,20 +7893,18 @@ public: class IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. - IfcCurrencyEnum::IfcCurrencyEnum Currency(); + IfcCurrencyEnum::IfcCurrencyEnum Currency() const; void setCurrency(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Currency"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMonetaryUnit (IfcAbstractEntityPtr e); + IfcMonetaryUnit (IfcAbstractEntity* e); IfcMonetaryUnit (IfcCurrencyEnum::IfcCurrencyEnum v1_Currency); - typedef IfcMonetaryUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMonetaryUnit > > list; - typedef IfcTemplatedEntityList< IfcMonetaryUnit >::it it; + typedef IfcTemplatedEntityList< IfcMonetaryUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -8050,23 +7914,21 @@ public: class IfcNamedUnit : public IfcUtil::IfcBaseEntity { public: /// The dimensional exponents of the SI base units by which the named unit is defined. - IfcDimensionalExponents* Dimensions(); + IfcDimensionalExponents* Dimensions() const; void setDimensions(IfcDimensionalExponents* v); /// The type of the unit. - IfcUnitEnum::IfcUnitEnum UnitType(); + IfcUnitEnum::IfcUnitEnum UnitType() const; void setUnitType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Dimensions"; case 1: return "UnitType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcNamedUnit (IfcAbstractEntityPtr e); + IfcNamedUnit (IfcAbstractEntity* e); IfcNamedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType); - typedef IfcNamedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcNamedUnit > > list; - typedef IfcTemplatedEntityList< IfcNamedUnit >::it it; + typedef IfcTemplatedEntityList< IfcNamedUnit > list; }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -8084,17 +7946,15 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > PlacesObject(); // INVERSE IfcProduct::ObjectPlacement - SHARED_PTR< IfcTemplatedEntityList< IfcLocalPlacement > > ReferencedByPlacements(); // INVERSE IfcLocalPlacement::PlacementRelTo + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement + IfcTemplatedEntityList< IfcLocalPlacement >::ptr ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObjectPlacement (IfcAbstractEntityPtr e); + IfcObjectPlacement (IfcAbstractEntity* e); IfcObjectPlacement (); - typedef IfcObjectPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjectPlacement > > list; - typedef IfcTemplatedEntityList< IfcObjectPlacement >::it it; + typedef IfcTemplatedEntityList< IfcObjectPlacement > list; }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -8108,87 +7968,83 @@ public: class IfcObjective : public IfcConstraint { public: /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective - bool hasBenchmarkValues(); + bool hasBenchmarkValues() const; /// A list of any benchmark values used for comparison purposes. - IfcMetric* BenchmarkValues(); + IfcMetric* BenchmarkValues() const; void setBenchmarkValues(IfcMetric* v); /// Whether the optional attribute ResultValues is defined for this IfcObjective - bool hasResultValues(); + bool hasResultValues() const; /// A list of any resultant values used for comparison purposes. - IfcMetric* ResultValues(); + IfcMetric* ResultValues() const; void setResultValues(IfcMetric* v); /// Enumeration that qualifies the type of objective constraint. - IfcObjectiveEnum::IfcObjectiveEnum ObjectiveQualifier(); + IfcObjectiveEnum::IfcObjectiveEnum ObjectiveQualifier() const; void setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v); /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective - bool hasUserDefinedQualifier(); + bool hasUserDefinedQualifier() const; /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - IfcLabel UserDefinedQualifier(); + IfcLabel UserDefinedQualifier() const; void setUserDefinedQualifier(IfcLabel v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcConstraint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "BenchmarkValues"; case 8: return "ResultValues"; case 9: return "ObjectiveQualifier"; case 10: return "UserDefinedQualifier"; } return IfcConstraint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObjective (IfcAbstractEntityPtr e); + IfcObjective (IfcAbstractEntity* e); IfcObjective (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier); - typedef IfcObjective* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjective > > list; - typedef IfcTemplatedEntityList< IfcObjective >::it it; + typedef IfcTemplatedEntityList< IfcObjective > list; }; class IfcOpticalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute VisibleTransmittance is defined for this IfcOpticalMaterialProperties - bool hasVisibleTransmittance(); - IfcPositiveRatioMeasure VisibleTransmittance(); + bool hasVisibleTransmittance() const; + IfcPositiveRatioMeasure VisibleTransmittance() const; void setVisibleTransmittance(IfcPositiveRatioMeasure v); /// Whether the optional attribute SolarTransmittance is defined for this IfcOpticalMaterialProperties - bool hasSolarTransmittance(); - IfcPositiveRatioMeasure SolarTransmittance(); + bool hasSolarTransmittance() const; + IfcPositiveRatioMeasure SolarTransmittance() const; void setSolarTransmittance(IfcPositiveRatioMeasure v); /// Whether the optional attribute ThermalIrTransmittance is defined for this IfcOpticalMaterialProperties - bool hasThermalIrTransmittance(); - IfcPositiveRatioMeasure ThermalIrTransmittance(); + bool hasThermalIrTransmittance() const; + IfcPositiveRatioMeasure ThermalIrTransmittance() const; void setThermalIrTransmittance(IfcPositiveRatioMeasure v); /// Whether the optional attribute ThermalIrEmissivityBack is defined for this IfcOpticalMaterialProperties - bool hasThermalIrEmissivityBack(); - IfcPositiveRatioMeasure ThermalIrEmissivityBack(); + bool hasThermalIrEmissivityBack() const; + IfcPositiveRatioMeasure ThermalIrEmissivityBack() const; void setThermalIrEmissivityBack(IfcPositiveRatioMeasure v); /// Whether the optional attribute ThermalIrEmissivityFront is defined for this IfcOpticalMaterialProperties - bool hasThermalIrEmissivityFront(); - IfcPositiveRatioMeasure ThermalIrEmissivityFront(); + bool hasThermalIrEmissivityFront() const; + IfcPositiveRatioMeasure ThermalIrEmissivityFront() const; void setThermalIrEmissivityFront(IfcPositiveRatioMeasure v); /// Whether the optional attribute VisibleReflectanceBack is defined for this IfcOpticalMaterialProperties - bool hasVisibleReflectanceBack(); - IfcPositiveRatioMeasure VisibleReflectanceBack(); + bool hasVisibleReflectanceBack() const; + IfcPositiveRatioMeasure VisibleReflectanceBack() const; void setVisibleReflectanceBack(IfcPositiveRatioMeasure v); /// Whether the optional attribute VisibleReflectanceFront is defined for this IfcOpticalMaterialProperties - bool hasVisibleReflectanceFront(); - IfcPositiveRatioMeasure VisibleReflectanceFront(); + bool hasVisibleReflectanceFront() const; + IfcPositiveRatioMeasure VisibleReflectanceFront() const; void setVisibleReflectanceFront(IfcPositiveRatioMeasure v); /// Whether the optional attribute SolarReflectanceFront is defined for this IfcOpticalMaterialProperties - bool hasSolarReflectanceFront(); - IfcPositiveRatioMeasure SolarReflectanceFront(); + bool hasSolarReflectanceFront() const; + IfcPositiveRatioMeasure SolarReflectanceFront() const; void setSolarReflectanceFront(IfcPositiveRatioMeasure v); /// Whether the optional attribute SolarReflectanceBack is defined for this IfcOpticalMaterialProperties - bool hasSolarReflectanceBack(); - IfcPositiveRatioMeasure SolarReflectanceBack(); + bool hasSolarReflectanceBack() const; + IfcPositiveRatioMeasure SolarReflectanceBack() const; void setSolarReflectanceBack(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "VisibleTransmittance"; case 2: return "SolarTransmittance"; case 3: return "ThermalIrTransmittance"; case 4: return "ThermalIrEmissivityBack"; case 5: return "ThermalIrEmissivityFront"; case 6: return "VisibleReflectanceBack"; case 7: return "VisibleReflectanceFront"; case 8: return "SolarReflectanceFront"; case 9: return "SolarReflectanceBack"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOpticalMaterialProperties (IfcAbstractEntityPtr e); + IfcOpticalMaterialProperties (IfcAbstractEntity* e); IfcOpticalMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_VisibleTransmittance, boost::optional< IfcPositiveRatioMeasure > v3_SolarTransmittance, boost::optional< IfcPositiveRatioMeasure > v4_ThermalIrTransmittance, boost::optional< IfcPositiveRatioMeasure > v5_ThermalIrEmissivityBack, boost::optional< IfcPositiveRatioMeasure > v6_ThermalIrEmissivityFront, boost::optional< IfcPositiveRatioMeasure > v7_VisibleReflectanceBack, boost::optional< IfcPositiveRatioMeasure > v8_VisibleReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v9_SolarReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v10_SolarReflectanceBack); - typedef IfcOpticalMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpticalMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcOpticalMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcOpticalMaterialProperties > list; }; /// A named and structured grouping with a corporate identity. /// @@ -8201,43 +8057,41 @@ public: class IfcOrganization : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Id is defined for this IfcOrganization - bool hasId(); - IfcIdentifier Id(); + bool hasId() const; + IfcIdentifier Id() const; void setId(IfcIdentifier v); /// The word, or group of words, by which the organization is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcOrganization - bool hasDescription(); + bool hasDescription() const; /// Text that relates the nature of the organization. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Roles is defined for this IfcOrganization - bool hasRoles(); + bool hasRoles() const; /// Roles played by the organization. - SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); - void setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v); + IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; + void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); /// Whether the optional attribute Addresses is defined for this IfcOrganization - bool hasAddresses(); + bool hasAddresses() const; /// Postal and telecom addresses of an organization. /// NOTE: There may be several addresses related to an organization. - SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > Addresses(); - void setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v); + IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; + void setAddresses(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Id"; case 1: return "Name"; case 2: return "Description"; case 3: return "Roles"; case 4: return "Addresses"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > IsRelatedBy(); // INVERSE IfcOrganizationRelationship::RelatedOrganizations - SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > Relates(); // INVERSE IfcOrganizationRelationship::RelatingOrganization - SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > Engages(); // INVERSE IfcPersonAndOrganization::TheOrganization + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcOrganizationRelationship >::ptr IsRelatedBy() const; // INVERSE IfcOrganizationRelationship::RelatedOrganizations + IfcTemplatedEntityList< IfcOrganizationRelationship >::ptr Relates() const; // INVERSE IfcOrganizationRelationship::RelatingOrganization + IfcTemplatedEntityList< IfcPersonAndOrganization >::ptr Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrganization (IfcAbstractEntityPtr e); - IfcOrganization (boost::optional< IfcIdentifier > v1_Id, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v4_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v5_Addresses); - typedef IfcOrganization* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > list; - typedef IfcTemplatedEntityList< IfcOrganization >::it it; + IfcOrganization (IfcAbstractEntity* e); + IfcOrganization (boost::optional< IfcIdentifier > v1_Id, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses); + typedef IfcTemplatedEntityList< IfcOrganization > list; }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -8248,31 +8102,29 @@ public: class IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the relationship is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcOrganizationRelationship - bool hasDescription(); + bool hasDescription() const; /// Text that relates the nature of the relationship. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Organization which is the relating part of the relationship between organizations. - IfcOrganization* RelatingOrganization(); + IfcOrganization* RelatingOrganization() const; void setRelatingOrganization(IfcOrganization* v); /// The other, possibly dependent, organizations which are the related parts of the relationship between organizations. - SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > RelatedOrganizations(); - void setRelatedOrganizations(SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v); + IfcTemplatedEntityList< IfcOrganization >::ptr RelatedOrganizations() const; + void setRelatedOrganizations(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "RelatingOrganization"; case 3: return "RelatedOrganizations"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrganizationRelationship (IfcAbstractEntityPtr e); - IfcOrganizationRelationship (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v4_RelatedOrganizations); - typedef IfcOrganizationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > list; - typedef IfcTemplatedEntityList< IfcOrganizationRelationship >::it it; + IfcOrganizationRelationship (IfcAbstractEntity* e); + IfcOrganizationRelationship (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations); + typedef IfcTemplatedEntityList< IfcOrganizationRelationship > list; }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -8287,49 +8139,47 @@ public: 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(); + IfcPersonAndOrganization* OwningUser() const; void setOwningUser(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(); + IfcApplication* OwningApplication() const; void setOwningApplication(IfcApplication* v); /// Whether the optional attribute State is defined for this IfcOwnerHistory - bool hasState(); + bool hasState() const; /// Enumeration that defines the current access state of the object. - IfcStateEnum::IfcStateEnum State(); + IfcStateEnum::IfcStateEnum State() const; void setState(IfcStateEnum::IfcStateEnum v); /// Enumeration that defines the actions associated with changes made to the object. - IfcChangeActionEnum::IfcChangeActionEnum ChangeAction(); + IfcChangeActionEnum::IfcChangeActionEnum ChangeAction() const; void setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v); /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory - bool hasLastModifiedDate(); + bool hasLastModifiedDate() const; /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - IfcTimeStamp LastModifiedDate(); + IfcTimeStamp LastModifiedDate() const; void setLastModifiedDate(IfcTimeStamp v); /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory - bool hasLastModifyingUser(); + bool hasLastModifyingUser() const; /// User who carried out the last modification using LastModifyingApplication. - IfcPersonAndOrganization* LastModifyingUser(); + IfcPersonAndOrganization* LastModifyingUser() const; void setLastModifyingUser(IfcPersonAndOrganization* v); /// Whether the optional attribute LastModifyingApplication is defined for this IfcOwnerHistory - bool hasLastModifyingApplication(); + bool hasLastModifyingApplication() const; /// Application used to make the last modification. - IfcApplication* LastModifyingApplication(); + IfcApplication* LastModifyingApplication() const; void setLastModifyingApplication(IfcApplication* v); /// The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. - IfcTimeStamp CreationDate(); + IfcTimeStamp CreationDate() const; void setCreationDate(IfcTimeStamp v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OwningUser"; case 1: return "OwningApplication"; case 2: return "State"; case 3: return "ChangeAction"; case 4: return "LastModifiedDate"; case 5: return "LastModifyingUser"; case 6: return "LastModifyingApplication"; case 7: return "CreationDate"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOwnerHistory (IfcAbstractEntityPtr e); + IfcOwnerHistory (IfcAbstractEntity* e); IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate); - typedef IfcOwnerHistory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOwnerHistory > > list; - typedef IfcTemplatedEntityList< IfcOwnerHistory >::it it; + typedef IfcTemplatedEntityList< IfcOwnerHistory > list; }; /// Definition: an individual human being. /// @@ -8343,63 +8193,61 @@ public: class IfcPerson : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Id is defined for this IfcPerson - bool hasId(); - IfcIdentifier Id(); + bool hasId() const; + IfcIdentifier Id() const; void setId(IfcIdentifier v); /// Whether the optional attribute FamilyName is defined for this IfcPerson - bool hasFamilyName(); + bool hasFamilyName() const; /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - IfcLabel FamilyName(); + IfcLabel FamilyName() const; void setFamilyName(IfcLabel v); /// Whether the optional attribute GivenName is defined for this IfcPerson - bool hasGivenName(); + bool hasGivenName() const; /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - IfcLabel GivenName(); + IfcLabel GivenName() const; void setGivenName(IfcLabel v); /// Whether the optional attribute MiddleNames is defined for this IfcPerson - bool hasMiddleNames(); + bool hasMiddleNames() const; /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// NOTE: Middle names are not normally used in familiar communication but may be asserted to provide additional /// identification of a particular person if necessary. They may be particularly useful in situations where the person concerned has a /// family name that occurs commonly in the geographical region. - std::vector< IfcLabel > /*[1:?]*/ MiddleNames(); + std::vector< IfcLabel > /*[1:?]*/ MiddleNames() const; void setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute PrefixTitles is defined for this IfcPerson - bool hasPrefixTitles(); + bool hasPrefixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< IfcLabel > /*[1:?]*/ PrefixTitles(); + std::vector< IfcLabel > /*[1:?]*/ PrefixTitles() const; void setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute SuffixTitles is defined for this IfcPerson - bool hasSuffixTitles(); + bool hasSuffixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< IfcLabel > /*[1:?]*/ SuffixTitles(); + std::vector< IfcLabel > /*[1:?]*/ SuffixTitles() const; void setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute Roles is defined for this IfcPerson - bool hasRoles(); + bool hasRoles() const; /// Roles played by the person. - SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); - void setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v); + IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; + void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); /// Whether the optional attribute Addresses is defined for this IfcPerson - bool hasAddresses(); + bool hasAddresses() const; /// Postal and telecommunication addresses of a person. /// NOTE - A person may have several addresses. - SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > Addresses(); - void setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v); + IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; + void setAddresses(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Id"; case 1: return "FamilyName"; case 2: return "GivenName"; case 3: return "MiddleNames"; case 4: return "PrefixTitles"; case 5: return "SuffixTitles"; case 6: return "Roles"; case 7: return "Addresses"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > EngagedIn(); // INVERSE IfcPersonAndOrganization::ThePerson + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPersonAndOrganization >::ptr EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPerson (IfcAbstractEntityPtr e); - IfcPerson (boost::optional< IfcIdentifier > v1_Id, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v7_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v8_Addresses); - typedef IfcPerson* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > list; - typedef IfcTemplatedEntityList< IfcPerson >::it it; + IfcPerson (IfcAbstractEntity* e); + IfcPerson (boost::optional< IfcIdentifier > v1_Id, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses); + typedef IfcTemplatedEntityList< IfcPerson > list; }; /// Definition: Identification of a person within an organization. /// @@ -8409,28 +8257,26 @@ public: class IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { public: /// The person who is related to the organization. - IfcPerson* ThePerson(); + IfcPerson* ThePerson() const; void setThePerson(IfcPerson* v); /// The organization to which the person is related. - IfcOrganization* TheOrganization(); + IfcOrganization* TheOrganization() const; void setTheOrganization(IfcOrganization* v); /// Whether the optional attribute Roles is defined for this IfcPersonAndOrganization - bool hasRoles(); + bool hasRoles() const; /// Roles played by the person within the context of an organization. These may differ from the roles in ThePerson.Roles which may be asserted without organizational context. - SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); - void setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v); + IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; + void setRoles(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ThePerson"; case 1: return "TheOrganization"; case 2: return "Roles"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPersonAndOrganization (IfcAbstractEntityPtr e); - IfcPersonAndOrganization (IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v3_Roles); - typedef IfcPersonAndOrganization* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > list; - typedef IfcTemplatedEntityList< IfcPersonAndOrganization >::it it; + IfcPersonAndOrganization (IfcAbstractEntity* e); + IfcPersonAndOrganization (IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v3_Roles); + typedef IfcTemplatedEntityList< IfcPersonAndOrganization > list; }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -8440,26 +8286,24 @@ public: class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity - bool hasDescription(); + bool hasDescription() const; /// Further explanation that might be given to the quantity. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalComplexQuantity > > PartOfComplex(); // INVERSE IfcPhysicalComplexQuantity::HasQuantities + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPhysicalComplexQuantity >::ptr PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPhysicalQuantity (IfcAbstractEntityPtr e); + IfcPhysicalQuantity (IfcAbstractEntity* e); IfcPhysicalQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcPhysicalQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > list; - typedef IfcTemplatedEntityList< IfcPhysicalQuantity >::it it; + typedef IfcTemplatedEntityList< IfcPhysicalQuantity > list; }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -8473,22 +8317,20 @@ public: class IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity - bool hasUnit(); + 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(); + IfcNamedUnit* Unit() const; void setUnit(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Unit"; } return IfcPhysicalQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPhysicalSimpleQuantity (IfcAbstractEntityPtr e); + IfcPhysicalSimpleQuantity (IfcAbstractEntity* e); IfcPhysicalSimpleQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit); - typedef IfcPhysicalSimpleQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > > list; - typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity >::it it; + typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. /// @@ -8496,58 +8338,56 @@ public: class IfcPostalAddress : public IfcAddress { public: /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress - bool hasInternalLocation(); + bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - IfcLabel InternalLocation(); + IfcLabel InternalLocation() const; void setInternalLocation(IfcLabel v); /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress - bool hasAddressLines(); + bool hasAddressLines() const; /// 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< IfcLabel > /*[1:?]*/ AddressLines(); + std::vector< IfcLabel > /*[1:?]*/ AddressLines() const; void setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress - bool hasPostalBox(); + bool hasPostalBox() const; /// An address that is implied by an identifiable mail drop. - IfcLabel PostalBox(); + IfcLabel PostalBox() const; void setPostalBox(IfcLabel v); /// Whether the optional attribute Town is defined for this IfcPostalAddress - bool hasTown(); + bool hasTown() const; /// The name of a town. - IfcLabel Town(); + IfcLabel Town() const; void setTown(IfcLabel v); /// Whether the optional attribute Region is defined for this IfcPostalAddress - bool hasRegion(); + bool hasRegion() const; /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - IfcLabel Region(); + IfcLabel Region() const; void setRegion(IfcLabel v); /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress - bool hasPostalCode(); + bool hasPostalCode() const; /// The code that is used by the country's postal service. - IfcLabel PostalCode(); + IfcLabel PostalCode() const; void setPostalCode(IfcLabel v); /// Whether the optional attribute Country is defined for this IfcPostalAddress - bool hasCountry(); + bool hasCountry() const; /// The name of a country. - IfcLabel Country(); + IfcLabel Country() const; void setCountry(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InternalLocation"; case 4: return "AddressLines"; case 5: return "PostalBox"; case 6: return "Town"; case 7: return "Region"; case 8: return "PostalCode"; case 9: return "Country"; } return IfcAddress::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPostalAddress (IfcAbstractEntityPtr e); + IfcPostalAddress (IfcAbstractEntity* e); IfcPostalAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country); - typedef IfcPostalAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPostalAddress > > list; - typedef IfcTemplatedEntityList< IfcPostalAddress >::it it; + typedef IfcTemplatedEntityList< IfcPostalAddress > list; }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -8559,20 +8399,18 @@ public: class IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedItem (IfcAbstractEntityPtr e); + IfcPreDefinedItem (IfcAbstractEntity* e); IfcPreDefinedItem (IfcLabel v1_Name); - typedef IfcPreDefinedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedItem > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedItem >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedItem > list; }; /// A predefined symbol is a symbol that gets its shape information by a conforming name that is specified within subtypes of the entity. /// @@ -8586,15 +8424,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedSymbol (IfcAbstractEntityPtr e); + IfcPreDefinedSymbol (IfcAbstractEntity* e); IfcPreDefinedSymbol (IfcLabel v1_Name); - typedef IfcPreDefinedSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedSymbol > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedSymbol >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedSymbol > list; }; class IfcPreDefinedTerminatorSymbol : public IfcPreDefinedSymbol { @@ -8602,15 +8438,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedTerminatorSymbol (IfcAbstractEntityPtr e); + IfcPreDefinedTerminatorSymbol (IfcAbstractEntity* e); IfcPreDefinedTerminatorSymbol (IfcLabel v1_Name); - typedef IfcPreDefinedTerminatorSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedTerminatorSymbol > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedTerminatorSymbol >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedTerminatorSymbol > list; }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -8628,15 +8462,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedTextFont (IfcAbstractEntityPtr e); + IfcPreDefinedTextFont (IfcAbstractEntity* e); IfcPreDefinedTextFont (IfcLabel v1_Name); - typedef IfcPreDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedTextFont > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedTextFont >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedTextFont > list; }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -8656,33 +8488,31 @@ public: class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment - bool hasDescription(); + bool hasDescription() const; /// Additional description of the layer. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// The set of layered items, which are assigned to this layer. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > AssignedItems(); - void setAssignedItems(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr AssignedItems() const; + void setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment - bool hasIdentifier(); + bool hasIdentifier() const; /// An (internal) identifier assigned to the layer. - IfcIdentifier Identifier(); + IfcIdentifier Identifier() const; void setIdentifier(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "AssignedItems"; case 3: return "Identifier"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationLayerAssignment (IfcAbstractEntityPtr e); - IfcPresentationLayerAssignment (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier); - typedef IfcPresentationLayerAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > list; - typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment >::it it; + IfcPresentationLayerAssignment (IfcAbstractEntity* e); + IfcPresentationLayerAssignment (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier); + typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -8700,33 +8530,31 @@ public: 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(); + bool LayerOn() const; void setLayerOn(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(); + bool LayerFrozen() const; void setLayerFrozen(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(); + bool LayerBlocked() const; void setLayerBlocked(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. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > LayerStyles(); - void setLayerStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr LayerStyles() const; + void setLayerStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; case 7: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationLayerAssignment::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LayerOn"; case 5: return "LayerFrozen"; case 6: return "LayerBlocked"; case 7: return "LayerStyles"; } return IfcPresentationLayerAssignment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationLayerWithStyle (IfcAbstractEntityPtr e); - IfcPresentationLayerWithStyle (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntities v8_LayerStyles); - typedef IfcPresentationLayerWithStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerWithStyle > > list; - typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle >::it it; + IfcPresentationLayerWithStyle (IfcAbstractEntity* e); + IfcPresentationLayerWithStyle (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles); + typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle > list; }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -8736,22 +8564,20 @@ public: class IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle - bool hasName(); + bool hasName() const; /// Name of the presentation style. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationStyle (IfcAbstractEntityPtr e); + IfcPresentationStyle (IfcAbstractEntity* e); IfcPresentationStyle (boost::optional< IfcLabel > v1_Name); - typedef IfcPresentationStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > list; - typedef IfcTemplatedEntityList< IfcPresentationStyle >::it it; + typedef IfcTemplatedEntityList< IfcPresentationStyle > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -8761,20 +8587,18 @@ public: class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Styles(); - void setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; + void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Styles"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationStyleAssignment (IfcAbstractEntityPtr e); - IfcPresentationStyleAssignment (IfcEntities v1_Styles); - typedef IfcPresentationStyleAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > list; - typedef IfcTemplatedEntityList< IfcPresentationStyleAssignment >::it it; + IfcPresentationStyleAssignment (IfcAbstractEntity* e); + IfcPresentationStyleAssignment (IfcEntityList::ptr v1_Styles); + typedef IfcTemplatedEntityList< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -8796,62 +8620,58 @@ public: class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation - bool hasName(); + bool hasName() const; /// The word or group of words by which the product representation is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcProductRepresentation - bool hasDescription(); + bool hasDescription() const; /// The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > Representations(); - void setRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v); + IfcTemplatedEntityList< IfcRepresentation >::ptr Representations() const; + void setRepresentations(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Representations"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProductRepresentation (IfcAbstractEntityPtr e); - IfcProductRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations); - typedef IfcProductRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductRepresentation > > list; - typedef IfcTemplatedEntityList< IfcProductRepresentation >::it it; + IfcProductRepresentation (IfcAbstractEntity* e); + IfcProductRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + typedef IfcTemplatedEntityList< IfcProductRepresentation > list; }; class IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcProductsOfCombustionProperties - bool hasSpecificHeatCapacity(); - IfcSpecificHeatCapacityMeasure SpecificHeatCapacity(); + bool hasSpecificHeatCapacity() const; + IfcSpecificHeatCapacityMeasure SpecificHeatCapacity() const; void setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v); /// Whether the optional attribute N20Content is defined for this IfcProductsOfCombustionProperties - bool hasN20Content(); - IfcPositiveRatioMeasure N20Content(); + bool hasN20Content() const; + IfcPositiveRatioMeasure N20Content() const; void setN20Content(IfcPositiveRatioMeasure v); /// Whether the optional attribute COContent is defined for this IfcProductsOfCombustionProperties - bool hasCOContent(); - IfcPositiveRatioMeasure COContent(); + bool hasCOContent() const; + IfcPositiveRatioMeasure COContent() const; void setCOContent(IfcPositiveRatioMeasure v); /// Whether the optional attribute CO2Content is defined for this IfcProductsOfCombustionProperties - bool hasCO2Content(); - IfcPositiveRatioMeasure CO2Content(); + bool hasCO2Content() const; + IfcPositiveRatioMeasure CO2Content() const; void setCO2Content(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SpecificHeatCapacity"; case 2: return "N20Content"; case 3: return "COContent"; case 4: return "CO2Content"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProductsOfCombustionProperties (IfcAbstractEntityPtr e); + IfcProductsOfCombustionProperties (IfcAbstractEntity* e); IfcProductsOfCombustionProperties (IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcPositiveRatioMeasure > v3_N20Content, boost::optional< IfcPositiveRatioMeasure > v4_COContent, boost::optional< IfcPositiveRatioMeasure > v5_CO2Content); - typedef IfcProductsOfCombustionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductsOfCombustionProperties > > list; - typedef IfcTemplatedEntityList< IfcProductsOfCombustionProperties >::it it; + typedef IfcTemplatedEntityList< IfcProductsOfCombustionProperties > list; }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -9026,25 +8846,23 @@ public: 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(); + IfcProfileTypeEnum::IfcProfileTypeEnum ProfileType() const; void setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v); /// Whether the optional attribute ProfileName is defined for this IfcProfileDef - bool hasProfileName(); + bool hasProfileName() const; /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - IfcLabel ProfileName(); + IfcLabel ProfileName() const; void setProfileName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ProfileType"; case 1: return "ProfileName"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProfileDef (IfcAbstractEntityPtr e); + IfcProfileDef (IfcAbstractEntity* e); IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName); - typedef IfcProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > list; - typedef IfcTemplatedEntityList< IfcProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcProfileDef > list; }; /// This is a collection of properties applicable to section profile definitions. /// @@ -9060,26 +8878,24 @@ public: class IfcProfileProperties : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ProfileName is defined for this IfcProfileProperties - bool hasProfileName(); - IfcLabel ProfileName(); + bool hasProfileName() const; + IfcLabel ProfileName() const; void setProfileName(IfcLabel v); /// Whether the optional attribute ProfileDefinition is defined for this IfcProfileProperties - bool hasProfileDefinition(); + bool hasProfileDefinition() const; /// Profile definition which is qualified by these properties. - IfcProfileDef* ProfileDefinition(); + IfcProfileDef* ProfileDefinition() const; void setProfileDefinition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ProfileName"; case 1: return "ProfileDefinition"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProfileProperties (IfcAbstractEntityPtr e); + IfcProfileProperties (IfcAbstractEntity* e); IfcProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition); - typedef IfcProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcProfileProperties >::it it; + 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. /// @@ -9087,56 +8903,52 @@ public: class IfcProperty : public IfcUtil::IfcBaseEntity { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. - IfcIdentifier Name(); + IfcIdentifier Name() const; void setName(IfcIdentifier v); /// Whether the optional attribute Description is defined for this IfcProperty - bool hasDescription(); + bool hasDescription() const; /// Informative text to explain the property. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > PropertyForDependance(); // INVERSE IfcPropertyDependencyRelationship::DependingProperty - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > PropertyDependsOn(); // INVERSE IfcPropertyDependencyRelationship::DependantProperty - SHARED_PTR< IfcTemplatedEntityList< IfcComplexProperty > > PartOfComplex(); // INVERSE IfcComplexProperty::HasProperties + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyForDependance() const; // INVERSE IfcPropertyDependencyRelationship::DependingProperty + IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyDependsOn() const; // INVERSE IfcPropertyDependencyRelationship::DependantProperty + IfcTemplatedEntityList< IfcComplexProperty >::ptr PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProperty (IfcAbstractEntityPtr e); + IfcProperty (IfcAbstractEntity* e); IfcProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > list; - typedef IfcTemplatedEntityList< IfcProperty >::it it; + typedef IfcTemplatedEntityList< IfcProperty > list; }; class IfcPropertyConstraintRelationship : public IfcUtil::IfcBaseEntity { public: - IfcConstraint* RelatingConstraint(); + IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > RelatedProperties(); - void setRelatedProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr RelatedProperties() const; + void setRelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); /// Whether the optional attribute Name is defined for this IfcPropertyConstraintRelationship - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcPropertyConstraintRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingConstraint"; case 1: return "RelatedProperties"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyConstraintRelationship (IfcAbstractEntityPtr e); - IfcPropertyConstraintRelationship (IfcConstraint* v1_RelatingConstraint, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v2_RelatedProperties, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertyConstraintRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyConstraintRelationship > > list; - typedef IfcTemplatedEntityList< IfcPropertyConstraintRelationship >::it it; + IfcPropertyConstraintRelationship (IfcAbstractEntity* e); + IfcPropertyConstraintRelationship (IfcConstraint* v1_RelatingConstraint, IfcTemplatedEntityList< IfcProperty >::ptr v2_RelatedProperties, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + typedef IfcTemplatedEntityList< IfcPropertyConstraintRelationship > list; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -9149,36 +8961,34 @@ public: class IfcPropertyDependencyRelationship : public IfcUtil::IfcBaseEntity { public: /// The property on which the relationship depends. - IfcProperty* DependingProperty(); + IfcProperty* DependingProperty() const; void setDependingProperty(IfcProperty* v); /// The dependant property. - IfcProperty* DependantProperty(); + IfcProperty* DependantProperty() const; void setDependantProperty(IfcProperty* v); /// Whether the optional attribute Name is defined for this IfcPropertyDependencyRelationship - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcPropertyDependencyRelationship - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship - bool hasExpression(); + bool hasExpression() const; /// Expression that further describes the nature of the dependency relation. - IfcText Expression(); + IfcText Expression() const; void setExpression(IfcText v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DependingProperty"; case 1: return "DependantProperty"; case 2: return "Name"; case 3: return "Description"; case 4: return "Expression"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyDependencyRelationship (IfcAbstractEntityPtr e); + IfcPropertyDependencyRelationship (IfcAbstractEntity* e); IfcPropertyDependencyRelationship (IfcProperty* v1_DependingProperty, IfcProperty* v2_DependantProperty, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcText > v5_Expression); - typedef IfcPropertyDependencyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > list; - typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::it it; + typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship > list; }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -9229,28 +9039,26 @@ public: class IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { public: /// Name of this enumeration. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// List of values that form the enumeration. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > EnumerationValues(); - void setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; + void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration - bool hasUnit(); + bool hasUnit() const; /// Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "EnumerationValues"; case 2: return "Unit"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyEnumeration (IfcAbstractEntityPtr e); - IfcPropertyEnumeration (IfcLabel v1_Name, IfcEntities v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit); - typedef IfcPropertyEnumeration* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyEnumeration > > list; - typedef IfcTemplatedEntityList< IfcPropertyEnumeration >::it it; + IfcPropertyEnumeration (IfcAbstractEntity* e); + IfcPropertyEnumeration (IfcLabel 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. /// @@ -9260,20 +9068,18 @@ public: class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. - IfcAreaMeasure AreaValue(); + IfcAreaMeasure AreaValue() const; void setAreaValue(IfcAreaMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "AreaValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityArea (IfcAbstractEntityPtr e); + IfcQuantityArea (IfcAbstractEntity* e); IfcQuantityArea (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue); - typedef IfcQuantityArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityArea > > list; - typedef IfcTemplatedEntityList< IfcQuantityArea >::it it; + 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. /// @@ -9283,20 +9089,18 @@ public: class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. - IfcCountMeasure CountValue(); + IfcCountMeasure CountValue() const; void setCountValue(IfcCountMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CountValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityCount (IfcAbstractEntityPtr e); + IfcQuantityCount (IfcAbstractEntity* e); IfcQuantityCount (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue); - typedef IfcQuantityCount* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityCount > > list; - typedef IfcTemplatedEntityList< IfcQuantityCount >::it it; + 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. /// @@ -9306,20 +9110,18 @@ public: class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. - IfcLengthMeasure LengthValue(); + IfcLengthMeasure LengthValue() const; void setLengthValue(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "LengthValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityLength (IfcAbstractEntityPtr e); + IfcQuantityLength (IfcAbstractEntity* e); IfcQuantityLength (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue); - typedef IfcQuantityLength* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityLength > > list; - typedef IfcTemplatedEntityList< IfcQuantityLength >::it it; + 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. /// @@ -9329,20 +9131,18 @@ public: class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. - IfcTimeMeasure TimeValue(); + IfcTimeMeasure TimeValue() const; void setTimeValue(IfcTimeMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TimeValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityTime (IfcAbstractEntityPtr e); + IfcQuantityTime (IfcAbstractEntity* e); IfcQuantityTime (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue); - typedef IfcQuantityTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityTime > > list; - typedef IfcTemplatedEntityList< IfcQuantityTime >::it it; + 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. /// @@ -9352,20 +9152,18 @@ public: class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. - IfcVolumeMeasure VolumeValue(); + IfcVolumeMeasure VolumeValue() const; void setVolumeValue(IfcVolumeMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "VolumeValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityVolume (IfcAbstractEntityPtr e); + IfcQuantityVolume (IfcAbstractEntity* e); IfcQuantityVolume (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue); - typedef IfcQuantityVolume* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityVolume > > list; - typedef IfcTemplatedEntityList< IfcQuantityVolume >::it it; + 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. /// @@ -9375,48 +9173,44 @@ public: class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. - IfcMassMeasure WeightValue(); + IfcMassMeasure WeightValue() const; void setWeightValue(IfcMassMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "WeightValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityWeight (IfcAbstractEntityPtr e); + IfcQuantityWeight (IfcAbstractEntity* e); IfcQuantityWeight (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue); - typedef IfcQuantityWeight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityWeight > > list; - typedef IfcTemplatedEntityList< IfcQuantityWeight >::it it; + typedef IfcTemplatedEntityList< IfcQuantityWeight > list; }; class IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { public: - IfcDocumentSelect ReferencedDocument(); + IfcDocumentSelect ReferencedDocument() const; void setReferencedDocument(IfcDocumentSelect v); - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > ReferencingValues(); - void setReferencingValues(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v); + IfcTemplatedEntityList< IfcAppliedValue >::ptr ReferencingValues() const; + void setReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); /// Whether the optional attribute Name is defined for this IfcReferencesValueDocument - bool hasName(); - IfcLabel Name(); + bool hasName() const; + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcReferencesValueDocument - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ReferencedDocument"; case 1: return "ReferencingValues"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReferencesValueDocument (IfcAbstractEntityPtr e); - IfcReferencesValueDocument (IfcDocumentSelect v1_ReferencedDocument, SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v2_ReferencingValues, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcReferencesValueDocument* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReferencesValueDocument > > list; - typedef IfcTemplatedEntityList< IfcReferencesValueDocument >::it it; + IfcReferencesValueDocument (IfcAbstractEntity* e); + IfcReferencesValueDocument (IfcDocumentSelect v1_ReferencedDocument, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + typedef IfcTemplatedEntityList< IfcReferencesValueDocument > list; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -9426,63 +9220,59 @@ public: class IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. - IfcAreaMeasure TotalCrossSectionArea(); + IfcAreaMeasure TotalCrossSectionArea() const; void setTotalCrossSectionArea(IfcAreaMeasure v); /// The nominal steel grade defined according to local standards. - IfcLabel SteelGrade(); + IfcLabel SteelGrade() const; void setSteelGrade(IfcLabel v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties - bool hasBarSurface(); + bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface(); + IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties - bool hasEffectiveDepth(); + bool hasEffectiveDepth() const; /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - IfcLengthMeasure EffectiveDepth(); + IfcLengthMeasure EffectiveDepth() const; void setEffectiveDepth(IfcLengthMeasure v); /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties - bool hasNominalBarDiameter(); + bool hasNominalBarDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - IfcPositiveLengthMeasure NominalBarDiameter(); + IfcPositiveLengthMeasure NominalBarDiameter() const; void setNominalBarDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties - bool hasBarCount(); + bool hasBarCount() const; /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - IfcCountMeasure BarCount(); + IfcCountMeasure BarCount() const; void setBarCount(IfcCountMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TotalCrossSectionArea"; case 1: return "SteelGrade"; case 2: return "BarSurface"; case 3: return "EffectiveDepth"; case 4: return "NominalBarDiameter"; case 5: return "BarCount"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcementBarProperties (IfcAbstractEntityPtr e); + IfcReinforcementBarProperties (IfcAbstractEntity* e); IfcReinforcementBarProperties (IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount); - typedef IfcReinforcementBarProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > list; - typedef IfcTemplatedEntityList< IfcReinforcementBarProperties >::it it; + typedef IfcTemplatedEntityList< IfcReinforcementBarProperties > list; }; class IfcRelaxation : public IfcUtil::IfcBaseEntity { public: - IfcNormalisedRatioMeasure RelaxationValue(); + IfcNormalisedRatioMeasure RelaxationValue() const; void setRelaxationValue(IfcNormalisedRatioMeasure v); - IfcNormalisedRatioMeasure InitialStress(); + IfcNormalisedRatioMeasure InitialStress() const; void setInitialStress(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelaxationValue"; case 1: return "InitialStress"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelaxation (IfcAbstractEntityPtr e); + IfcRelaxation (IfcAbstractEntity* e); IfcRelaxation (IfcNormalisedRatioMeasure v1_RelaxationValue, IfcNormalisedRatioMeasure v2_InitialStress); - typedef IfcRelaxation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelaxation > > list; - typedef IfcTemplatedEntityList< IfcRelaxation >::it it; + typedef IfcTemplatedEntityList< IfcRelaxation > list; }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -9533,37 +9323,35 @@ public: class IfcRepresentation : public IfcUtil::IfcBaseEntity { public: /// Definition of the representation context for which the different subtypes of representation are valid. - IfcRepresentationContext* ContextOfItems(); + IfcRepresentationContext* ContextOfItems() const; void setContextOfItems(IfcRepresentationContext* v); /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation - bool hasRepresentationIdentifier(); + bool hasRepresentationIdentifier() const; /// The optional identifier of the representation as used within a project. - IfcLabel RepresentationIdentifier(); + IfcLabel RepresentationIdentifier() const; void setRepresentationIdentifier(IfcLabel v); /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation - bool hasRepresentationType(); + bool hasRepresentationType() const; /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - IfcLabel RepresentationType(); + IfcLabel RepresentationType() const; void setRepresentationType(IfcLabel v); /// Set of geometric representation items that are defined for this representation. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > Items(); - void setItems(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v); + IfcTemplatedEntityList< IfcRepresentationItem >::ptr Items() const; + void setItems(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextOfItems"; case 1: return "RepresentationIdentifier"; case 2: return "RepresentationType"; case 3: return "Items"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > RepresentationMap(); // INVERSE IfcRepresentationMap::MappedRepresentation - SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems - SHARED_PTR< IfcTemplatedEntityList< IfcProductRepresentation > > OfProductRepresentation(); // INVERSE IfcProductRepresentation::Representations + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMap() const; // INVERSE IfcRepresentationMap::MappedRepresentation + IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems + IfcTemplatedEntityList< IfcProductRepresentation >::ptr OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentation (IfcAbstractEntityPtr e); - IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > list; - typedef IfcTemplatedEntityList< IfcRepresentation >::it it; + IfcRepresentation (IfcAbstractEntity* e); + IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcRepresentation > list; }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -9578,28 +9366,26 @@ public: class IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext - bool hasContextIdentifier(); + bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - IfcLabel ContextIdentifier(); + IfcLabel ContextIdentifier() const; void setContextIdentifier(IfcLabel v); /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext - bool hasContextType(); + bool hasContextType() const; /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - IfcLabel ContextType(); + IfcLabel ContextType() const; void setContextType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextIdentifier"; case 1: return "ContextType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > RepresentationsInContext(); // INVERSE IfcRepresentation::ContextOfItems + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRepresentation >::ptr RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentationContext (IfcAbstractEntityPtr e); + IfcRepresentationContext (IfcAbstractEntity* e); IfcRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType); - typedef IfcRepresentationContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > list; - typedef IfcTemplatedEntityList< IfcRepresentationContext >::it it; + typedef IfcTemplatedEntityList< IfcRepresentationContext > list; }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -9638,17 +9424,15 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems - SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > StyledByItem(); // INVERSE IfcStyledItem::Item + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems + IfcTemplatedEntityList< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentationItem (IfcAbstractEntityPtr e); + IfcRepresentationItem (IfcAbstractEntity* e); IfcRepresentationItem (); - typedef IfcRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > list; - typedef IfcTemplatedEntityList< IfcRepresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcRepresentationItem > list; }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -9665,58 +9449,54 @@ class IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. - IfcAxis2Placement MappingOrigin(); + IfcAxis2Placement MappingOrigin() const; void setMappingOrigin(IfcAxis2Placement v); /// A representation that is mapped to at least one mapped item. - IfcRepresentation* MappedRepresentation(); + IfcRepresentation* MappedRepresentation() const; void setMappedRepresentation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappingOrigin"; case 1: return "MappedRepresentation"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMappedItem > > MapUsage(); // INVERSE IfcMappedItem::MappingSource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMappedItem >::ptr MapUsage() const; // INVERSE IfcMappedItem::MappingSource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentationMap (IfcAbstractEntityPtr e); + IfcRepresentationMap (IfcAbstractEntity* e); IfcRepresentationMap (IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation); - typedef IfcRepresentationMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > list; - typedef IfcTemplatedEntityList< IfcRepresentationMap >::it it; + typedef IfcTemplatedEntityList< IfcRepresentationMap > list; }; class IfcRibPlateProfileProperties : public IfcProfileProperties { public: /// Whether the optional attribute Thickness is defined for this IfcRibPlateProfileProperties - bool hasThickness(); - IfcPositiveLengthMeasure Thickness(); + bool hasThickness() const; + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute RibHeight is defined for this IfcRibPlateProfileProperties - bool hasRibHeight(); - IfcPositiveLengthMeasure RibHeight(); + bool hasRibHeight() const; + IfcPositiveLengthMeasure RibHeight() const; void setRibHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute RibWidth is defined for this IfcRibPlateProfileProperties - bool hasRibWidth(); - IfcPositiveLengthMeasure RibWidth(); + bool hasRibWidth() const; + IfcPositiveLengthMeasure RibWidth() const; void setRibWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute RibSpacing is defined for this IfcRibPlateProfileProperties - bool hasRibSpacing(); - IfcPositiveLengthMeasure RibSpacing(); + bool hasRibSpacing() const; + IfcPositiveLengthMeasure RibSpacing() const; void setRibSpacing(IfcPositiveLengthMeasure v); - IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum Direction(); + IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum Direction() const; void setDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Thickness"; case 3: return "RibHeight"; case 4: return "RibWidth"; case 5: return "RibSpacing"; case 6: return "Direction"; } return IfcProfileProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRibPlateProfileProperties (IfcAbstractEntityPtr e); + IfcRibPlateProfileProperties (IfcAbstractEntity* e); IfcRibPlateProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcPositiveLengthMeasure > v3_Thickness, boost::optional< IfcPositiveLengthMeasure > v4_RibHeight, boost::optional< IfcPositiveLengthMeasure > v5_RibWidth, boost::optional< IfcPositiveLengthMeasure > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction); - typedef IfcRibPlateProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRibPlateProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcRibPlateProfileProperties >::it it; + 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. /// @@ -9730,37 +9510,35 @@ public: class IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. - IfcGloballyUniqueId GlobalId(); + IfcGloballyUniqueId GlobalId() const; void setGlobalId(IfcGloballyUniqueId 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(); + IfcOwnerHistory* OwnerHistory() const; void setOwnerHistory(IfcOwnerHistory* v); /// Whether the optional attribute Name is defined for this IfcRoot - bool hasName(); + bool hasName() const; /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcRoot - bool hasDescription(); + bool hasDescription() const; /// Optional description, provided for exchanging informative comments. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "GlobalId"; case 1: return "OwnerHistory"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoot (IfcAbstractEntityPtr e); + IfcRoot (IfcAbstractEntity* e); IfcRoot (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRoot* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > list; - typedef IfcTemplatedEntityList< IfcRoot >::it it; + 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). /// @@ -9772,27 +9550,25 @@ public: class IfcSIUnit : public IfcNamedUnit { public: /// Whether the optional attribute Prefix is defined for this IfcSIUnit - bool hasPrefix(); + bool hasPrefix() const; /// The SI Prefix for defining decimal multiples and submultiples of the unit. - IfcSIPrefix::IfcSIPrefix Prefix(); + IfcSIPrefix::IfcSIPrefix Prefix() const; void setPrefix(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(); + IfcSIUnitName::IfcSIUnitName Name() const; void setName(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Prefix"; case 3: return "Name"; } return IfcNamedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSIUnit (IfcAbstractEntityPtr e); + IfcSIUnit (IfcAbstractEntity* e); IfcSIUnit (IfcUnitEnum::IfcUnitEnum v2_UnitType, boost::optional< IfcSIPrefix::IfcSIPrefix > v3_Prefix, IfcSIUnitName::IfcSIUnitName v4_Name); - typedef IfcSIUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSIUnit > > list; - typedef IfcTemplatedEntityList< IfcSIUnit >::it it; + typedef IfcTemplatedEntityList< IfcSIUnit > 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. /// @@ -9802,28 +9578,26 @@ public: 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(); + IfcSectionTypeEnum::IfcSectionTypeEnum SectionType() const; void setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v); /// The cross section profile at the start point of the longitudinal section. - IfcProfileDef* StartProfile(); + IfcProfileDef* StartProfile() const; void setStartProfile(IfcProfileDef* v); /// Whether the optional attribute EndProfile is defined for this IfcSectionProperties - bool hasEndProfile(); + bool hasEndProfile() const; /// The cross section profile at the end point of the longitudinal section. - IfcProfileDef* EndProfile(); + IfcProfileDef* EndProfile() const; void setEndProfile(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SectionType"; case 1: return "StartProfile"; case 2: return "EndProfile"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSectionProperties (IfcAbstractEntityPtr e); + IfcSectionProperties (IfcAbstractEntity* e); IfcSectionProperties (IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile); - typedef IfcSectionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionProperties > > list; - typedef IfcTemplatedEntityList< IfcSectionProperties >::it it; + 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. /// @@ -9835,37 +9609,35 @@ public: class IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { public: /// The start position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalStartPosition(); + IfcLengthMeasure LongitudinalStartPosition() const; void setLongitudinalStartPosition(IfcLengthMeasure v); /// The end position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalEndPosition(); + IfcLengthMeasure LongitudinalEndPosition() const; void setLongitudinalEndPosition(IfcLengthMeasure v); /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties - bool hasTransversePosition(); + bool hasTransversePosition() const; /// The position for the section reinforcement properties in transverse direction. - IfcLengthMeasure TransversePosition(); + IfcLengthMeasure TransversePosition() const; void setTransversePosition(IfcLengthMeasure 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(); + IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum ReinforcementRole() const; void setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); /// Definition of the cross section profile and longitudinal section type. - IfcSectionProperties* SectionDefinition(); + IfcSectionProperties* SectionDefinition() const; void setSectionDefinition(IfcSectionProperties* v); /// The set of reinforcment properties attached to a section reinforcement properties definition. - SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > CrossSectionReinforcementDefinitions(); - void setCrossSectionReinforcementDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v); + IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr CrossSectionReinforcementDefinitions() const; + void setCrossSectionReinforcementDefinitions(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LongitudinalStartPosition"; case 1: return "LongitudinalEndPosition"; case 2: return "TransversePosition"; case 3: return "ReinforcementRole"; case 4: return "SectionDefinition"; case 5: return "CrossSectionReinforcementDefinitions"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSectionReinforcementProperties (IfcAbstractEntityPtr e); - IfcSectionReinforcementProperties (IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v6_CrossSectionReinforcementDefinitions); - typedef IfcSectionReinforcementProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > list; - typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties >::it it; + IfcSectionReinforcementProperties (IfcAbstractEntity* e); + IfcSectionReinforcementProperties (IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); + typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties > list; }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -9908,39 +9680,37 @@ class IfcShapeAspect : public IfcUtil::IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility - SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > ShapeRepresentations(); - void setShapeRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v); + IfcTemplatedEntityList< IfcShapeModel >::ptr ShapeRepresentations() const; + void setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); /// Whether the optional attribute Name is defined for this IfcShapeAspect - bool hasName(); + bool hasName() const; /// The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag "Glazing" to define which component of a window shape defines the glazing area. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcShapeAspect - bool hasDescription(); + bool hasDescription() const; /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText 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(); + bool ProductDefinitional() const; void setProductDefinitional(bool v); /// Reference to the product definition shape of which this class is an aspect. - IfcProductDefinitionShape* PartOfProductDefinitionShape(); + IfcProductDefinitionShape* PartOfProductDefinitionShape() const; void setPartOfProductDefinitionShape(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ShapeRepresentations"; case 1: return "Name"; case 2: return "Description"; case 3: return "ProductDefinitional"; case 4: return "PartOfProductDefinitionShape"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShapeAspect (IfcAbstractEntityPtr e); - IfcShapeAspect (SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape); - typedef IfcShapeAspect* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > list; - typedef IfcTemplatedEntityList< IfcShapeAspect >::it it; + IfcShapeAspect (IfcAbstractEntity* e); + IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape); + typedef IfcTemplatedEntityList< IfcShapeAspect > list; }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -9965,16 +9735,14 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > OfShapeAspect(); // INVERSE IfcShapeAspect::ShapeRepresentations + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShapeModel (IfcAbstractEntityPtr e); - IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcShapeModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > list; - typedef IfcTemplatedEntityList< IfcShapeModel >::it it; + IfcShapeModel (IfcAbstractEntity* e); + IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcShapeModel > list; }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -10116,15 +9884,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcShapeModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShapeRepresentation (IfcAbstractEntityPtr e); - IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcShapeRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeRepresentation > > list; - typedef IfcTemplatedEntityList< IfcShapeRepresentation >::it it; + IfcShapeRepresentation (IfcAbstractEntity* e); + IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcShapeRepresentation > list; }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// @@ -10134,15 +9900,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSimpleProperty (IfcAbstractEntityPtr e); + IfcSimpleProperty (IfcAbstractEntity* e); IfcSimpleProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcSimpleProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSimpleProperty > > list; - typedef IfcTemplatedEntityList< IfcSimpleProperty >::it it; + typedef IfcTemplatedEntityList< IfcSimpleProperty > list; }; /// Definition from IAI: Describe more rarely needed connection properties. /// @@ -10150,22 +9914,20 @@ public: class IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition - bool hasName(); + bool hasName() const; /// Optionally defines a name for this connection condition. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralConnectionCondition (IfcAbstractEntityPtr e); + IfcStructuralConnectionCondition (IfcAbstractEntity* e); IfcStructuralConnectionCondition (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralConnectionCondition > > list; - typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition >::it it; + typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition > list; }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// @@ -10173,22 +9935,20 @@ public: class IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralLoad - bool hasName(); + bool hasName() const; /// Optionally defines a name for this load. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoad (IfcAbstractEntityPtr e); + IfcStructuralLoad (IfcAbstractEntity* e); IfcStructuralLoad (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralLoad* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoad >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoad > list; }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// @@ -10198,15 +9958,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralLoad::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralLoad::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadStatic (IfcAbstractEntityPtr e); + IfcStructuralLoadStatic (IfcAbstractEntity* e); IfcStructuralLoadStatic (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralLoadStatic* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadStatic > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadStatic >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadStatic > list; }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -10216,29 +9974,27 @@ public: class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DeltaT_Constant is defined for this IfcStructuralLoadTemperature - bool hasDeltaT_Constant(); - IfcThermodynamicTemperatureMeasure DeltaT_Constant(); + bool hasDeltaT_Constant() const; + IfcThermodynamicTemperatureMeasure DeltaT_Constant() const; void setDeltaT_Constant(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute DeltaT_Y is defined for this IfcStructuralLoadTemperature - bool hasDeltaT_Y(); - IfcThermodynamicTemperatureMeasure DeltaT_Y(); + bool hasDeltaT_Y() const; + IfcThermodynamicTemperatureMeasure DeltaT_Y() const; void setDeltaT_Y(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute DeltaT_Z is defined for this IfcStructuralLoadTemperature - bool hasDeltaT_Z(); - IfcThermodynamicTemperatureMeasure DeltaT_Z(); + bool hasDeltaT_Z() const; + IfcThermodynamicTemperatureMeasure DeltaT_Z() const; void setDeltaT_Z(IfcThermodynamicTemperatureMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DeltaT_Constant"; case 2: return "DeltaT_Y"; case 3: return "DeltaT_Z"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadTemperature (IfcAbstractEntityPtr e); + IfcStructuralLoadTemperature (IfcAbstractEntity* e); IfcStructuralLoadTemperature (boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaT_Constant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaT_Y, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaT_Z); - typedef IfcStructuralLoadTemperature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadTemperature > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature > list; }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -10250,15 +10006,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStyleModel (IfcAbstractEntityPtr e); - IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcStyleModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyleModel > > list; - typedef IfcTemplatedEntityList< IfcStyleModel >::it it; + IfcStyleModel (IfcAbstractEntity* e); + IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcStyleModel > list; }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -10291,11 +10045,11 @@ public: class IfcStyledItem : public IfcRepresentationItem { public: /// Whether the optional attribute Item is defined for this IfcStyledItem - bool hasItem(); + 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(); + IfcRepresentationItem* Item() const; void setItem(IfcRepresentationItem* v); /// Representation styles which are assigned, either to an geometric representation item, or to a material definition. /// @@ -10303,25 +10057,23 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > Styles(); - void setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v); + IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr Styles() const; + void setStyles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v); /// Whether the optional attribute Name is defined for this IfcStyledItem - bool hasName(); + bool hasName() const; /// The word, or group of words, by which the styled item is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Item"; case 1: return "Styles"; case 2: return "Name"; } return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStyledItem (IfcAbstractEntityPtr e); - IfcStyledItem (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcStyledItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > list; - typedef IfcTemplatedEntityList< IfcStyledItem >::it it; + IfcStyledItem (IfcAbstractEntity* e); + IfcStyledItem (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > 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. /// @@ -10335,15 +10087,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStyleModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStyleModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStyledRepresentation (IfcAbstractEntityPtr e); - IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcStyledRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyledRepresentation > > list; - typedef IfcTemplatedEntityList< IfcStyledRepresentation >::it it; + IfcStyledRepresentation (IfcAbstractEntity* e); + IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcStyledRepresentation > list; }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -10355,23 +10105,21 @@ public: class IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. - IfcSurfaceSide::IfcSurfaceSide Side(); + IfcSurfaceSide::IfcSurfaceSide Side() const; void setSide(IfcSurfaceSide::IfcSurfaceSide v); /// A collection of different surface styles. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Styles(); - void setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; + void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Side"; case 2: return "Styles"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyle (IfcAbstractEntityPtr e); - IfcSurfaceStyle (boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntities v3_Styles); - typedef IfcSurfaceStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyle > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyle >::it it; + IfcSurfaceStyle (IfcAbstractEntity* e); + IfcSurfaceStyle (boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles); + typedef IfcTemplatedEntityList< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -10388,32 +10136,30 @@ class IfcSurfaceStyleLighting : public IfcUtil::IfcBaseEntity { public: /// The degree of diffusion of the transmitted light. In the case of completely transparent materials there is no diffusion. The greater the diffusing power, the smaller the direct component of the transmitted light, up to the point where only diffuse light is produced.A value of 1 means totally diffuse for that colour part of the light. /// The factor can be measured physically and has three ratios for the red, green and blue part of the light. - IfcColourRgb* DiffuseTransmissionColour(); + IfcColourRgb* DiffuseTransmissionColour() const; void setDiffuseTransmissionColour(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(); + IfcColourRgb* DiffuseReflectionColour() const; void setDiffuseReflectionColour(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(); + IfcColourRgb* TransmissionColour() const; void setTransmissionColour(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(); + IfcColourRgb* ReflectanceColour() const; void setReflectanceColour(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DiffuseTransmissionColour"; case 1: return "DiffuseReflectionColour"; case 2: return "TransmissionColour"; case 3: return "ReflectanceColour"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleLighting (IfcAbstractEntityPtr e); + IfcSurfaceStyleLighting (IfcAbstractEntity* e); IfcSurfaceStyleLighting (IfcColourRgb* v1_DiffuseTransmissionColour, IfcColourRgb* v2_DiffuseReflectionColour, IfcColourRgb* v3_TransmissionColour, IfcColourRgb* v4_ReflectanceColour); - typedef IfcSurfaceStyleLighting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleLighting > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleLighting >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleLighting > list; }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -10423,27 +10169,25 @@ public: class IfcSurfaceStyleRefraction : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction - bool hasRefractionIndex(); + bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - IfcReal RefractionIndex(); + IfcReal RefractionIndex() const; void setRefractionIndex(IfcReal v); /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction - bool hasDispersionFactor(); + bool hasDispersionFactor() const; /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - IfcReal DispersionFactor(); + IfcReal DispersionFactor() const; void setDispersionFactor(IfcReal v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RefractionIndex"; case 1: return "DispersionFactor"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleRefraction (IfcAbstractEntityPtr e); + IfcSurfaceStyleRefraction (IfcAbstractEntity* e); IfcSurfaceStyleRefraction (boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor); - typedef IfcSurfaceStyleRefraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleRefraction > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -10455,20 +10199,18 @@ public: 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(); + IfcColourRgb* SurfaceColour() const; void setSurfaceColour(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SurfaceColour"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleShading (IfcAbstractEntityPtr e); + IfcSurfaceStyleShading (IfcAbstractEntity* e); IfcSurfaceStyleShading (IfcColourRgb* v1_SurfaceColour); - typedef IfcSurfaceStyleShading* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleShading > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleShading >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleShading > list; }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -10491,20 +10233,18 @@ public: 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. - SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > Textures(); - void setTextures(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v); + IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Textures() const; + void setTextures(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Textures"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleWithTextures (IfcAbstractEntityPtr e); - IfcSurfaceStyleWithTextures (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Textures); - typedef IfcSurfaceStyleWithTextures* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleWithTextures >::it it; + IfcSurfaceStyleWithTextures (IfcAbstractEntity* e); + IfcSurfaceStyleWithTextures (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Textures); + typedef IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > list; }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -10601,32 +10341,30 @@ public: 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(); + bool RepeatS() const; void setRepeatS(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(); + bool RepeatT() const; void setRepeatT(bool v); - IfcSurfaceTextureEnum::IfcSurfaceTextureEnum TextureType(); + IfcSurfaceTextureEnum::IfcSurfaceTextureEnum TextureType() const; void setTextureType(IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v); /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture - bool hasTextureTransform(); + bool hasTextureTransform() const; /// The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. /// /// Mirroring is not allowed to be used in the IfcCarteesianTransformationOperator - IfcCartesianTransformationOperator2D* TextureTransform(); + IfcCartesianTransformationOperator2D* TextureTransform() const; void setTextureTransform(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RepeatS"; case 1: return "RepeatT"; case 2: return "TextureType"; case 3: return "TextureTransform"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceTexture (IfcAbstractEntityPtr e); + IfcSurfaceTexture (IfcAbstractEntity* e); IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform); - typedef IfcSurfaceTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > list; - typedef IfcTemplatedEntityList< IfcSurfaceTexture >::it it; + 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. /// @@ -10636,20 +10374,18 @@ public: class IfcSymbolStyle : public IfcPresentationStyle { public: /// The style applied to the symbol for its visual appearance. - IfcSymbolStyleSelect StyleOfSymbol(); + IfcSymbolStyleSelect StyleOfSymbol() const; void setStyleOfSymbol(IfcSymbolStyleSelect v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "StyleOfSymbol"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSymbolStyle (IfcAbstractEntityPtr e); + IfcSymbolStyle (IfcAbstractEntity* e); IfcSymbolStyle (boost::optional< IfcLabel > v1_Name, IfcSymbolStyleSelect v2_StyleOfSymbol); - typedef IfcSymbolStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSymbolStyle > > list; - typedef IfcTemplatedEntityList< IfcSymbolStyle >::it it; + typedef IfcTemplatedEntityList< IfcSymbolStyle > list; }; /// An IfcTable is a data structure for the provision of information in the form of rows and columns. Each instance may have IfcTableColumn instances that define the name, description and units for each column. The rows of information are stored as a list of IfcTableRow objects. /// @@ -10669,23 +10405,21 @@ public: class IfcTable : public IfcUtil::IfcBaseEntity { public: /// A unique name which is intended to describe the usage of the Table. - std::string Name(); + std::string Name() const; void setName(std::string v); /// Reference to information content of rows. - SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > Rows(); - void setRows(SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > v); + IfcTemplatedEntityList< IfcTableRow >::ptr Rows() const; + void setRows(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Rows"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTable (IfcAbstractEntityPtr e); - IfcTable (std::string v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > v2_Rows); - typedef IfcTable* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTable > > list; - typedef IfcTemplatedEntityList< IfcTable >::it it; + IfcTable (IfcAbstractEntity* e); + IfcTable (std::string v1_Name, IfcTemplatedEntityList< IfcTableRow >::ptr v2_Rows); + typedef IfcTemplatedEntityList< IfcTable > list; }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -10703,24 +10437,22 @@ public: class IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RowCells(); - void setRowCells(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RowCells() const; + void setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::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(); + bool IsHeading() const; void setIsHeading(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RowCells"; case 1: return "IsHeading"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTable > > OfTable(); // INVERSE IfcTable::Rows + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTable >::ptr OfTable() const; // INVERSE IfcTable::Rows bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTableRow (IfcAbstractEntityPtr e); - IfcTableRow (IfcEntities v1_RowCells, bool v2_IsHeading); - typedef IfcTableRow* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > list; - typedef IfcTemplatedEntityList< IfcTableRow >::it it; + IfcTableRow (IfcAbstractEntity* e); + IfcTableRow (IfcEntityList::ptr v1_RowCells, bool v2_IsHeading); + typedef IfcTemplatedEntityList< IfcTableRow > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -10731,45 +10463,43 @@ public: class IfcTelecomAddress : public IfcAddress { public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress - bool hasTelephoneNumbers(); + bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers(); + std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers() const; void setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress - bool hasFacsimileNumbers(); + bool hasFacsimileNumbers() const; /// The list of fax numbers at which fax messages may be received. - std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers(); + std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers() const; void setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress - bool hasPagerNumber(); + bool hasPagerNumber() const; /// The pager number at which paging messages may be received. - IfcLabel PagerNumber(); + IfcLabel PagerNumber() const; void setPagerNumber(IfcLabel v); /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress - bool hasElectronicMailAddresses(); + bool hasElectronicMailAddresses() const; /// The list of Email addresses at which Email messages may be received. - std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses(); + std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses() const; void setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress - bool hasWWWHomePageURL(); + bool hasWWWHomePageURL() const; /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - IfcLabel WWWHomePageURL(); + IfcLabel WWWHomePageURL() const; void setWWWHomePageURL(IfcLabel v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; case 7: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TelephoneNumbers"; case 4: return "FacsimileNumbers"; case 5: return "PagerNumber"; case 6: return "ElectronicMailAddresses"; case 7: return "WWWHomePageURL"; } return IfcAddress::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTelecomAddress (IfcAbstractEntityPtr e); + IfcTelecomAddress (IfcAbstractEntity* e); IfcTelecomAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcLabel > v8_WWWHomePageURL); - typedef IfcTelecomAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTelecomAddress > > list; - typedef IfcTemplatedEntityList< IfcTelecomAddress >::it it; + typedef IfcTemplatedEntityList< IfcTelecomAddress > list; }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -10802,36 +10532,34 @@ public: class IfcTextStyle : public IfcPresentationStyle { public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle - bool hasTextCharacterAppearance(); + bool hasTextCharacterAppearance() const; /// A character style to be used for presented text. - IfcCharacterStyleSelect TextCharacterAppearance(); + IfcCharacterStyleSelect TextCharacterAppearance() const; void setTextCharacterAppearance(IfcCharacterStyleSelect v); /// Whether the optional attribute TextStyle is defined for this IfcTextStyle - bool hasTextStyle(); + bool hasTextStyle() const; /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// /// IFC2x Edition 3 CHANGE  The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. - IfcTextStyleSelect TextStyle(); + IfcTextStyleSelect TextStyle() const; void setTextStyle(IfcTextStyleSelect v); /// The style applied to the text font for its visual appearance. /// It defines the font family, font style, weight and size. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute TextFontStyle is a new attribute attached to IfcTextStyle. - IfcTextFontSelect TextFontStyle(); + IfcTextFontSelect TextFontStyle() const; void setTextFontStyle(IfcTextFontSelect v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TextCharacterAppearance"; case 2: return "TextStyle"; case 3: return "TextFontStyle"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyle (IfcAbstractEntityPtr e); + IfcTextStyle (IfcAbstractEntity* e); IfcTextStyle (boost::optional< IfcLabel > v1_Name, boost::optional< IfcCharacterStyleSelect > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect > v3_TextStyle, IfcTextFontSelect v4_TextFontStyle); - typedef IfcTextStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyle > > list; - typedef IfcTemplatedEntityList< IfcTextStyle >::it it; + 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. /// @@ -10901,43 +10629,41 @@ public: class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// Whether the optional attribute FontFamily is defined for this IfcTextStyleFontModel - bool hasFontFamily(); + bool hasFontFamily() const; /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. - std::vector< IfcTextFontName > /*[1:?]*/ FontFamily(); + std::vector< IfcTextFontName > /*[1:?]*/ FontFamily() const; void setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v); /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel - bool hasFontStyle(); + bool hasFontStyle() const; /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - IfcFontStyle FontStyle(); + IfcFontStyle FontStyle() const; void setFontStyle(IfcFontStyle v); /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel - bool hasFontVariant(); + bool hasFontVariant() const; /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcFontVariant FontVariant(); + IfcFontVariant FontVariant() const; void setFontVariant(IfcFontVariant v); /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel - bool hasFontWeight(); + bool hasFontWeight() const; /// The font weight property selects the weight of the font. /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. - IfcFontWeight FontWeight(); + IfcFontWeight FontWeight() const; void setFontWeight(IfcFontWeight v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleFontModel (IfcAbstractEntityPtr e); + IfcTextStyleFontModel (IfcAbstractEntity* e); IfcTextStyleFontModel (IfcLabel v1_Name, boost::optional< std::vector< IfcTextFontName > /*[1:?]*/ > v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize); - typedef IfcTextStyleFontModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleFontModel > > list; - typedef IfcTemplatedEntityList< IfcTextStyleFontModel >::it it; + typedef IfcTemplatedEntityList< IfcTextStyleFontModel > list; }; /// Definition from ISO/CD 10303-46:1992: A text style for defined font is a character glyph style for pre-defined or externally defined text fonts. /// @@ -10959,25 +10685,23 @@ public: class IfcTextStyleForDefinedFont : public IfcUtil::IfcBaseEntity { public: /// This property describes the text color of an element (often referred to as the foreground color). - IfcColour Colour(); + IfcColour Colour() const; void setColour(IfcColour v); /// Whether the optional attribute BackgroundColour is defined for this IfcTextStyleForDefinedFont - bool hasBackgroundColour(); + bool hasBackgroundColour() const; /// This property sets the background color of an element. - IfcColour BackgroundColour(); + IfcColour BackgroundColour() const; void setBackgroundColour(IfcColour v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Colour"; case 1: return "BackgroundColour"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleForDefinedFont (IfcAbstractEntityPtr e); + IfcTextStyleForDefinedFont (IfcAbstractEntity* e); IfcTextStyleForDefinedFont (IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour); - typedef IfcTextStyleForDefinedFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleForDefinedFont > > list; - typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont >::it it; + 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. /// @@ -10989,59 +10713,57 @@ public: class IfcTextStyleTextModel : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel - bool hasTextIndent(); + 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(); + IfcSizeSelect TextIndent() const; void setTextIndent(IfcSizeSelect v); /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel - bool hasTextAlign(); + bool hasTextAlign() const; /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - IfcTextAlignment TextAlign(); + IfcTextAlignment TextAlign() const; void setTextAlign(IfcTextAlignment v); /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel - bool hasTextDecoration(); + bool hasTextDecoration() const; /// This property describes decorations that are added to the text of an element. - IfcTextDecoration TextDecoration(); + IfcTextDecoration TextDecoration() const; void setTextDecoration(IfcTextDecoration v); /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel - bool hasLetterSpacing(); + bool hasLetterSpacing() const; /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. - IfcSizeSelect LetterSpacing(); + IfcSizeSelect LetterSpacing() const; void setLetterSpacing(IfcSizeSelect v); /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel - bool hasWordSpacing(); + bool hasWordSpacing() const; /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect WordSpacing(); + IfcSizeSelect WordSpacing() const; void setWordSpacing(IfcSizeSelect v); /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel - bool hasTextTransform(); + bool hasTextTransform() const; /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcTextTransformation TextTransform(); + IfcTextTransformation TextTransform() const; void setTextTransform(IfcTextTransformation v); /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel - bool hasLineHeight(); + bool hasLineHeight() const; /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. - IfcSizeSelect LineHeight(); + IfcSizeSelect LineHeight() const; void setLineHeight(IfcSizeSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextIndent"; case 1: return "TextAlign"; case 2: return "TextDecoration"; case 3: return "LetterSpacing"; case 4: return "WordSpacing"; case 5: return "TextTransform"; case 6: return "LineHeight"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleTextModel (IfcAbstractEntityPtr e); + IfcTextStyleTextModel (IfcAbstractEntity* e); IfcTextStyleTextModel (boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight); - typedef IfcTextStyleTextModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleTextModel > > list; - typedef IfcTemplatedEntityList< IfcTextStyleTextModel >::it it; + 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. /// @@ -11063,42 +10785,40 @@ public: class IfcTextStyleWithBoxCharacteristics : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute BoxHeight is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxHeight(); + bool hasBoxHeight() const; /// It is the height scaling factor in the definition of a character glyph. - IfcPositiveLengthMeasure BoxHeight(); + IfcPositiveLengthMeasure BoxHeight() const; void setBoxHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute BoxWidth is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxWidth(); + bool hasBoxWidth() const; /// It is the width scaling factor in the definition of a character glyph. - IfcPositiveLengthMeasure BoxWidth(); + IfcPositiveLengthMeasure BoxWidth() const; void setBoxWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute BoxSlantAngle is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxSlantAngle(); + bool hasBoxSlantAngle() const; /// It indicated that the box of a character glyph shall be represented as a parallelogram, with the angle being between the character up line and an axis perpendicular to the character base line. - IfcPlaneAngleMeasure BoxSlantAngle(); + IfcPlaneAngleMeasure BoxSlantAngle() const; void setBoxSlantAngle(IfcPlaneAngleMeasure v); /// Whether the optional attribute BoxRotateAngle is defined for this IfcTextStyleWithBoxCharacteristics - bool hasBoxRotateAngle(); + bool hasBoxRotateAngle() const; /// It indicated that the box of a character glyph shall be presented at an angle to the base line of a text string within which the glyph occurs, the angle being that between the base line of the glyph and an axis perpendicular to the baseline of the text string. - IfcPlaneAngleMeasure BoxRotateAngle(); + IfcPlaneAngleMeasure BoxRotateAngle() const; void setBoxRotateAngle(IfcPlaneAngleMeasure v); /// Whether the optional attribute CharacterSpacing is defined for this IfcTextStyleWithBoxCharacteristics - bool hasCharacterSpacing(); + bool hasCharacterSpacing() const; /// The distance between the character boxes of adjacent characters. - IfcSizeSelect CharacterSpacing(); + IfcSizeSelect CharacterSpacing() const; void setCharacterSpacing(IfcSizeSelect v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BoxHeight"; case 1: return "BoxWidth"; case 2: return "BoxSlantAngle"; case 3: return "BoxRotateAngle"; case 4: return "CharacterSpacing"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleWithBoxCharacteristics (IfcAbstractEntityPtr e); + IfcTextStyleWithBoxCharacteristics (IfcAbstractEntity* e); IfcTextStyleWithBoxCharacteristics (boost::optional< IfcPositiveLengthMeasure > v1_BoxHeight, boost::optional< IfcPositiveLengthMeasure > v2_BoxWidth, boost::optional< IfcPlaneAngleMeasure > v3_BoxSlantAngle, boost::optional< IfcPlaneAngleMeasure > v4_BoxRotateAngle, boost::optional< IfcSizeSelect > v5_CharacterSpacing); - typedef IfcTextStyleWithBoxCharacteristics* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleWithBoxCharacteristics > > list; - typedef IfcTemplatedEntityList< IfcTextStyleWithBoxCharacteristics >::it it; + 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. /// @@ -11116,16 +10836,14 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSurface > > AnnotatedSurface(); // INVERSE IfcAnnotationSurface::TextureCoordinates + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcAnnotationSurface >::ptr AnnotatedSurface() const; // INVERSE IfcAnnotationSurface::TextureCoordinates bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureCoordinate (IfcAbstractEntityPtr e); + IfcTextureCoordinate (IfcAbstractEntity* e); IfcTextureCoordinate (); - typedef IfcTextureCoordinate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinate > > list; - typedef IfcTemplatedEntityList< IfcTextureCoordinate >::it it; + typedef IfcTemplatedEntityList< IfcTextureCoordinate > list; }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -11158,25 +10876,23 @@ public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. - IfcLabel Mode(); + IfcLabel Mode() const; void setMode(IfcLabel v); /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Parameter(); - void setParameter(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Parameter() const; + void setParameter(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcTextureCoordinate::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Mode"; case 1: return "Parameter"; } return IfcTextureCoordinate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureCoordinateGenerator (IfcAbstractEntityPtr e); - IfcTextureCoordinateGenerator (IfcLabel v1_Mode, IfcEntities v2_Parameter); - typedef IfcTextureCoordinateGenerator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinateGenerator > > list; - typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator >::it it; + IfcTextureCoordinateGenerator (IfcAbstractEntity* e); + IfcTextureCoordinateGenerator (IfcLabel v1_Mode, IfcEntityList::ptr v2_Parameter); + typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator > list; }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -11231,20 +10947,18 @@ public: /// The FaceBound referenced in AppliedTo shall be used by the vertex based geometry, to which this texture map is assigned to by through the IfcStyledItem. class IfcTextureMap : public IfcTextureCoordinate { public: - SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > TextureMaps(); - void setTextureMaps(SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > v); + IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr TextureMaps() const; + void setTextureMaps(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextureMaps"; } return IfcTextureCoordinate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureMap (IfcAbstractEntityPtr e); - IfcTextureMap (SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > v1_TextureMaps); - typedef IfcTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureMap > > list; - typedef IfcTemplatedEntityList< IfcTextureMap >::it it; + IfcTextureMap (IfcAbstractEntity* e); + IfcTextureMap (IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v1_TextureMaps); + typedef IfcTemplatedEntityList< IfcTextureMap > list; }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -11276,52 +10990,48 @@ public: class IfcTextureVertex : public IfcUtil::IfcBaseEntity { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. - std::vector< IfcParameterValue > /*[2:2]*/ Coordinates(); + std::vector< IfcParameterValue > /*[2:2]*/ Coordinates() const; void setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureVertex (IfcAbstractEntityPtr e); + IfcTextureVertex (IfcAbstractEntity* e); IfcTextureVertex (std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates); - typedef IfcTextureVertex* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > list; - typedef IfcTemplatedEntityList< IfcTextureVertex >::it it; + typedef IfcTemplatedEntityList< IfcTextureVertex > list; }; class IfcThermalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcThermalMaterialProperties - bool hasSpecificHeatCapacity(); - IfcSpecificHeatCapacityMeasure SpecificHeatCapacity(); + bool hasSpecificHeatCapacity() const; + IfcSpecificHeatCapacityMeasure SpecificHeatCapacity() const; void setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v); /// Whether the optional attribute BoilingPoint is defined for this IfcThermalMaterialProperties - bool hasBoilingPoint(); - IfcThermodynamicTemperatureMeasure BoilingPoint(); + bool hasBoilingPoint() const; + IfcThermodynamicTemperatureMeasure BoilingPoint() const; void setBoilingPoint(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute FreezingPoint is defined for this IfcThermalMaterialProperties - bool hasFreezingPoint(); - IfcThermodynamicTemperatureMeasure FreezingPoint(); + bool hasFreezingPoint() const; + IfcThermodynamicTemperatureMeasure FreezingPoint() const; void setFreezingPoint(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute ThermalConductivity is defined for this IfcThermalMaterialProperties - bool hasThermalConductivity(); - IfcThermalConductivityMeasure ThermalConductivity(); + bool hasThermalConductivity() const; + IfcThermalConductivityMeasure ThermalConductivity() const; void setThermalConductivity(IfcThermalConductivityMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SpecificHeatCapacity"; case 2: return "BoilingPoint"; case 3: return "FreezingPoint"; case 4: return "ThermalConductivity"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcThermalMaterialProperties (IfcAbstractEntityPtr e); + IfcThermalMaterialProperties (IfcAbstractEntity* e); IfcThermalMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcThermodynamicTemperatureMeasure > v3_BoilingPoint, boost::optional< IfcThermodynamicTemperatureMeasure > v4_FreezingPoint, boost::optional< IfcThermalConductivityMeasure > v5_ThermalConductivity); - typedef IfcThermalMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcThermalMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcThermalMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcThermalMaterialProperties > list; }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -11331,68 +11041,64 @@ public: class IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcTimeSeries - bool hasDescription(); + bool hasDescription() const; /// A text description of the data that the series represents. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// The start time of a time series. - IfcDateTimeSelect StartTime(); + IfcDateTimeSelect StartTime() const; void setStartTime(IfcDateTimeSelect v); /// The end time of a time series. - IfcDateTimeSelect EndTime(); + IfcDateTimeSelect EndTime() const; void setEndTime(IfcDateTimeSelect v); /// The time series data type. - IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType(); + IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType() const; void setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); /// The orgin of a time series data. - IfcDataOriginEnum::IfcDataOriginEnum DataOrigin(); + IfcDataOriginEnum::IfcDataOriginEnum DataOrigin() const; void setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries - bool hasUserDefinedDataOrigin(); + bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - IfcLabel UserDefinedDataOrigin(); + IfcLabel UserDefinedDataOrigin() const; void setUserDefinedDataOrigin(IfcLabel v); /// Whether the optional attribute Unit is defined for this IfcTimeSeries - bool hasUnit(); + bool hasUnit() const; /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "StartTime"; case 3: return "EndTime"; case 4: return "TimeSeriesDataType"; case 5: return "DataOrigin"; case 6: return "UserDefinedDataOrigin"; case 7: return "Unit"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship > > DocumentedBy(); // INVERSE IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship >::ptr DocumentedBy() const; // INVERSE IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimeSeries (IfcAbstractEntityPtr e); + IfcTimeSeries (IfcAbstractEntity* e); IfcTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit); - typedef IfcTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeries > > list; - typedef IfcTemplatedEntityList< IfcTimeSeries >::it it; + typedef IfcTemplatedEntityList< IfcTimeSeries > list; }; class IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { public: - IfcTimeSeries* ReferencedTimeSeries(); + IfcTimeSeries* ReferencedTimeSeries() const; void setReferencedTimeSeries(IfcTimeSeries* v); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > TimeSeriesReferences(); - void setTimeSeriesReferences(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr TimeSeriesReferences() const; + void setTimeSeriesReferences(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ReferencedTimeSeries"; case 1: return "TimeSeriesReferences"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimeSeriesReferenceRelationship (IfcAbstractEntityPtr e); - IfcTimeSeriesReferenceRelationship (IfcTimeSeries* v1_ReferencedTimeSeries, IfcEntities v2_TimeSeriesReferences); - typedef IfcTimeSeriesReferenceRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship > > list; - typedef IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship >::it it; + IfcTimeSeriesReferenceRelationship (IfcAbstractEntity* e); + IfcTimeSeriesReferenceRelationship (IfcTimeSeries* v1_ReferencedTimeSeries, IfcEntityList::ptr v2_TimeSeriesReferences); + typedef IfcTemplatedEntityList< IfcTimeSeriesReferenceRelationship > list; }; /// A time series value is a list of values that comprise the time series. At least one value must be supplied. Applications are expected to normalize values by applying the following three rules: /// @@ -11406,20 +11112,18 @@ public: class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ListValues(); - void setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; + void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimeSeriesValue (IfcAbstractEntityPtr e); - IfcTimeSeriesValue (IfcEntities v1_ListValues); - typedef IfcTimeSeriesValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > list; - typedef IfcTemplatedEntityList< IfcTimeSeriesValue >::it it; + IfcTimeSeriesValue (IfcAbstractEntity* e); + IfcTimeSeriesValue (IfcEntityList::ptr v1_ListValues); + typedef IfcTemplatedEntityList< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -11431,15 +11135,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTopologicalRepresentationItem (IfcAbstractEntityPtr e); + IfcTopologicalRepresentationItem (IfcAbstractEntity* e); IfcTopologicalRepresentationItem (); - typedef IfcTopologicalRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTopologicalRepresentationItem > > list; - typedef IfcTemplatedEntityList< IfcTopologicalRepresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcTopologicalRepresentationItem > list; }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -11480,15 +11182,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcShapeModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTopologyRepresentation (IfcAbstractEntityPtr e); - IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcTopologyRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTopologyRepresentation > > list; - typedef IfcTemplatedEntityList< IfcTopologyRepresentation >::it it; + IfcTopologyRepresentation (IfcAbstractEntity* e); + IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcTopologyRepresentation > list; }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -11498,20 +11198,18 @@ public: class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Units(); - void setUnits(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Units() const; + void setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Units"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitAssignment (IfcAbstractEntityPtr e); - IfcUnitAssignment (IfcEntities v1_Units); - typedef IfcUnitAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitAssignment > > list; - typedef IfcTemplatedEntityList< IfcUnitAssignment >::it it; + IfcUnitAssignment (IfcAbstractEntity* e); + IfcUnitAssignment (IfcEntityList::ptr v1_Units); + typedef IfcTemplatedEntityList< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -11528,35 +11226,31 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertex (IfcAbstractEntityPtr e); + IfcVertex (IfcAbstractEntity* e); IfcVertex (); - typedef IfcVertex* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertex > > list; - typedef IfcTemplatedEntityList< IfcVertex >::it it; + typedef IfcTemplatedEntityList< IfcVertex > list; }; class IfcVertexBasedTextureMap : public IfcUtil::IfcBaseEntity { public: - SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > TextureVertices(); - void setTextureVertices(SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v); - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > TexturePoints(); - void setTexturePoints(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcTextureVertex >::ptr TextureVertices() const; + void setTextureVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr TexturePoints() const; + void setTexturePoints(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextureVertices"; case 1: return "TexturePoints"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertexBasedTextureMap (IfcAbstractEntityPtr e); - IfcVertexBasedTextureMap (SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v1_TextureVertices, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_TexturePoints); - typedef IfcVertexBasedTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexBasedTextureMap > > list; - typedef IfcTemplatedEntityList< IfcVertexBasedTextureMap >::it it; + IfcVertexBasedTextureMap (IfcAbstractEntity* e); + IfcVertexBasedTextureMap (IfcTemplatedEntityList< IfcTextureVertex >::ptr v1_TextureVertices, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_TexturePoints); + typedef IfcTemplatedEntityList< IfcVertexBasedTextureMap > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -11570,20 +11264,18 @@ public: class IfcVertexPoint : public IfcVertex { public: /// The geometric point, which defines the position in geometric space of the vertex. - IfcPoint* VertexGeometry(); + IfcPoint* VertexGeometry() const; void setVertexGeometry(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VertexGeometry"; } return IfcVertex::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertexPoint (IfcAbstractEntityPtr e); + IfcVertexPoint (IfcAbstractEntity* e); IfcVertexPoint (IfcPoint* v1_VertexGeometry); - typedef IfcVertexPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexPoint > > list; - typedef IfcTemplatedEntityList< IfcVertexPoint >::it it; + typedef IfcTemplatedEntityList< IfcVertexPoint > list; }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -11647,67 +11339,63 @@ public: 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. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IntersectingAxes(); - void setIntersectingAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; + void setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection. - std::vector< IfcLengthMeasure > /*[2:3]*/ OffsetDistances(); + std::vector< IfcLengthMeasure > /*[2:3]*/ OffsetDistances() const; void setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "IntersectingAxes"; case 1: return "OffsetDistances"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVirtualGridIntersection (IfcAbstractEntityPtr e); - IfcVirtualGridIntersection (SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances); - typedef IfcVirtualGridIntersection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVirtualGridIntersection > > list; - typedef IfcTemplatedEntityList< IfcVirtualGridIntersection >::it it; + IfcVirtualGridIntersection (IfcAbstractEntity* e); + IfcVirtualGridIntersection (IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances); + typedef IfcTemplatedEntityList< IfcVirtualGridIntersection > list; }; class IfcWaterProperties : public IfcMaterialProperties { public: /// Whether the optional attribute IsPotable is defined for this IfcWaterProperties - bool hasIsPotable(); - bool IsPotable(); + bool hasIsPotable() const; + bool IsPotable() const; void setIsPotable(bool v); /// Whether the optional attribute Hardness is defined for this IfcWaterProperties - bool hasHardness(); - IfcIonConcentrationMeasure Hardness(); + bool hasHardness() const; + IfcIonConcentrationMeasure Hardness() const; void setHardness(IfcIonConcentrationMeasure v); /// Whether the optional attribute AlkalinityConcentration is defined for this IfcWaterProperties - bool hasAlkalinityConcentration(); - IfcIonConcentrationMeasure AlkalinityConcentration(); + bool hasAlkalinityConcentration() const; + IfcIonConcentrationMeasure AlkalinityConcentration() const; void setAlkalinityConcentration(IfcIonConcentrationMeasure v); /// Whether the optional attribute AcidityConcentration is defined for this IfcWaterProperties - bool hasAcidityConcentration(); - IfcIonConcentrationMeasure AcidityConcentration(); + bool hasAcidityConcentration() const; + IfcIonConcentrationMeasure AcidityConcentration() const; void setAcidityConcentration(IfcIonConcentrationMeasure v); /// Whether the optional attribute ImpuritiesContent is defined for this IfcWaterProperties - bool hasImpuritiesContent(); - IfcNormalisedRatioMeasure ImpuritiesContent(); + bool hasImpuritiesContent() const; + IfcNormalisedRatioMeasure ImpuritiesContent() const; void setImpuritiesContent(IfcNormalisedRatioMeasure v); /// Whether the optional attribute PHLevel is defined for this IfcWaterProperties - bool hasPHLevel(); - IfcPHMeasure PHLevel(); + bool hasPHLevel() const; + IfcPHMeasure PHLevel() const; void setPHLevel(IfcPHMeasure v); /// Whether the optional attribute DissolvedSolidsContent is defined for this IfcWaterProperties - bool hasDissolvedSolidsContent(); - IfcNormalisedRatioMeasure DissolvedSolidsContent(); + bool hasDissolvedSolidsContent() const; + IfcNormalisedRatioMeasure DissolvedSolidsContent() const; void setDissolvedSolidsContent(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "IsPotable"; case 2: return "Hardness"; case 3: return "AlkalinityConcentration"; case 4: return "AcidityConcentration"; case 5: return "ImpuritiesContent"; case 6: return "PHLevel"; case 7: return "DissolvedSolidsContent"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWaterProperties (IfcAbstractEntityPtr e); + IfcWaterProperties (IfcAbstractEntity* e); IfcWaterProperties (IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< IfcIonConcentrationMeasure > v3_Hardness, boost::optional< IfcIonConcentrationMeasure > v4_AlkalinityConcentration, boost::optional< IfcIonConcentrationMeasure > v5_AcidityConcentration, boost::optional< IfcNormalisedRatioMeasure > v6_ImpuritiesContent, boost::optional< IfcPHMeasure > v7_PHLevel, boost::optional< IfcNormalisedRatioMeasure > v8_DissolvedSolidsContent); - typedef IfcWaterProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWaterProperties > > list; - typedef IfcTemplatedEntityList< IfcWaterProperties >::it it; + typedef IfcTemplatedEntityList< IfcWaterProperties > list; }; class IfcAnnotationOccurrence : public IfcStyledItem { @@ -11715,15 +11403,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStyledItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStyledItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationOccurrence (IfcAbstractEntityPtr e); - IfcAnnotationOccurrence (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcAnnotationOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationOccurrence > > list; - typedef IfcTemplatedEntityList< IfcAnnotationOccurrence >::it it; + IfcAnnotationOccurrence (IfcAbstractEntity* e); + IfcAnnotationOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + typedef IfcTemplatedEntityList< IfcAnnotationOccurrence > list; }; class IfcAnnotationSurfaceOccurrence : public IfcAnnotationOccurrence { @@ -11731,15 +11417,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationSurfaceOccurrence (IfcAbstractEntityPtr e); - IfcAnnotationSurfaceOccurrence (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcAnnotationSurfaceOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence > > list; - typedef IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence >::it it; + IfcAnnotationSurfaceOccurrence (IfcAbstractEntity* e); + IfcAnnotationSurfaceOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + typedef IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence > list; }; class IfcAnnotationSymbolOccurrence : public IfcAnnotationOccurrence { @@ -11747,15 +11431,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationSymbolOccurrence (IfcAbstractEntityPtr e); - IfcAnnotationSymbolOccurrence (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcAnnotationSymbolOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence > > list; - typedef IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence >::it it; + IfcAnnotationSymbolOccurrence (IfcAbstractEntity* e); + IfcAnnotationSymbolOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + typedef IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence > list; }; class IfcAnnotationTextOccurrence : public IfcAnnotationOccurrence { @@ -11763,15 +11445,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationTextOccurrence (IfcAbstractEntityPtr e); - IfcAnnotationTextOccurrence (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcAnnotationTextOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationTextOccurrence > > list; - typedef IfcTemplatedEntityList< IfcAnnotationTextOccurrence >::it it; + IfcAnnotationTextOccurrence (IfcAbstractEntity* e); + IfcAnnotationTextOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > 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. /// @@ -11794,20 +11474,18 @@ public: class IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. - IfcCurve* OuterCurve(); + IfcCurve* OuterCurve() const; void setOuterCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "OuterCurve"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcArbitraryClosedProfileDef (IfcAbstractEntityPtr e); + IfcArbitraryClosedProfileDef (IfcAbstractEntity* e); IfcArbitraryClosedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve); - typedef IfcArbitraryClosedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > > list; - typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > list; }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -11827,20 +11505,18 @@ public: class IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. - IfcBoundedCurve* Curve(); + IfcBoundedCurve* Curve() const; void setCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Curve"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcArbitraryOpenProfileDef (IfcAbstractEntityPtr e); + IfcArbitraryOpenProfileDef (IfcAbstractEntity* e); IfcArbitraryOpenProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve); - typedef IfcArbitraryOpenProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > > list; - typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > list; }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -11864,20 +11540,18 @@ public: class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. - SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerCurves(); - void setInnerCurves(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v); + IfcTemplatedEntityList< IfcCurve >::ptr InnerCurves() const; + void setInnerCurves(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InnerCurves"; } return IfcArbitraryClosedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcArbitraryProfileDefWithVoids (IfcAbstractEntityPtr e); - IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v4_InnerCurves); - typedef IfcArbitraryProfileDefWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > > list; - typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids >::it it; + IfcArbitraryProfileDefWithVoids (IfcAbstractEntity* e); + IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves); + typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > list; }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -11891,23 +11565,21 @@ public: class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. - IfcIdentifier RasterFormat(); + IfcIdentifier RasterFormat() const; void setRasterFormat(IfcIdentifier 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(); + bool RasterCode() const; void setRasterCode(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RasterFormat"; case 5: return "RasterCode"; } return IfcSurfaceTexture::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBlobTexture (IfcAbstractEntityPtr e); + IfcBlobTexture (IfcAbstractEntity* e); IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_RasterFormat, bool v6_RasterCode); - typedef IfcBlobTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBlobTexture > > list; - typedef IfcTemplatedEntityList< IfcBlobTexture >::it it; + 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. /// @@ -11941,20 +11613,18 @@ public: class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. - IfcPositiveLengthMeasure Thickness(); + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcArbitraryOpenProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Thickness"; } return IfcArbitraryOpenProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCenterLineProfileDef (IfcAbstractEntityPtr e); + IfcCenterLineProfileDef (IfcAbstractEntity* e); IfcCenterLineProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness); - typedef IfcCenterLineProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCenterLineProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCenterLineProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCenterLineProfileDef > list; }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -11980,22 +11650,20 @@ public: class IfcClassificationReference : public IfcExternalReference { public: /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference - bool hasReferencedSource(); + bool hasReferencedSource() const; /// The classification system or source that is referenced. - IfcClassification* ReferencedSource(); + IfcClassification* ReferencedSource() const; void setReferencedSource(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ReferencedSource"; } return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassificationReference (IfcAbstractEntityPtr e); + IfcClassificationReference (IfcAbstractEntity* e); IfcClassificationReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name, IfcClassification* v4_ReferencedSource); - typedef IfcClassificationReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationReference > > list; - typedef IfcTemplatedEntityList< IfcClassificationReference >::it it; + 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. /// @@ -12010,30 +11678,28 @@ public: /// The intensity of the red colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. - IfcNormalisedRatioMeasure Red(); + IfcNormalisedRatioMeasure Red() const; void setRed(IfcNormalisedRatioMeasure v); /// The intensity of the green colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. - IfcNormalisedRatioMeasure Green(); + IfcNormalisedRatioMeasure Green() const; void setGreen(IfcNormalisedRatioMeasure v); /// The intensity of the blue colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. - IfcNormalisedRatioMeasure Blue(); + IfcNormalisedRatioMeasure Blue() const; void setBlue(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Red"; case 2: return "Green"; case 3: return "Blue"; } return IfcColourSpecification::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColourRgb (IfcAbstractEntityPtr e); + IfcColourRgb (IfcAbstractEntity* e); IfcColourRgb (boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue); - typedef IfcColourRgb* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourRgb > > list; - typedef IfcTemplatedEntityList< IfcColourRgb >::it it; + typedef IfcTemplatedEntityList< IfcColourRgb > list; }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -12044,23 +11710,21 @@ class IfcComplexProperty : public IfcProperty { public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. - IfcIdentifier UsageName(); + IfcIdentifier UsageName() const; void setUsageName(IfcIdentifier v); /// Set of properties that can be used within this complex property (may include other complex properties). - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > HasProperties(); - void setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; + void setHasProperties(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "HasProperties"; } return IfcProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcComplexProperty (IfcAbstractEntityPtr e); - IfcComplexProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v4_HasProperties); - typedef IfcComplexProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcComplexProperty > > list; - typedef IfcTemplatedEntityList< IfcComplexProperty >::it it; + IfcComplexProperty (IfcAbstractEntity* e); + IfcComplexProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties); + typedef IfcTemplatedEntityList< IfcComplexProperty > list; }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -12101,25 +11765,23 @@ public: class IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. - SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > Profiles(); - void setProfiles(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v); + IfcTemplatedEntityList< IfcProfileDef >::ptr Profiles() const; + void setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v); /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef - bool hasLabel(); + bool hasLabel() const; /// The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications. - IfcLabel Label(); + IfcLabel Label() const; void setLabel(IfcLabel v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Profiles"; case 3: return "Label"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeProfileDef (IfcAbstractEntityPtr e); - IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v3_Profiles, boost::optional< IfcLabel > v4_Label); - typedef IfcCompositeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCompositeProfileDef >::it it; + IfcCompositeProfileDef (IfcAbstractEntity* e); + IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label); + typedef IfcTemplatedEntityList< IfcCompositeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -12133,20 +11795,18 @@ public: class IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. - SHARED_PTR< IfcTemplatedEntityList< IfcFace > > CfsFaces(); - void setCfsFaces(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v); + IfcTemplatedEntityList< IfcFace >::ptr CfsFaces() const; + void setCfsFaces(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CfsFaces"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectedFaceSet (IfcAbstractEntityPtr e); - IfcConnectedFaceSet (SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces); - typedef IfcConnectedFaceSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > list; - typedef IfcTemplatedEntityList< IfcConnectedFaceSet >::it it; + IfcConnectedFaceSet (IfcAbstractEntity* e); + IfcConnectedFaceSet (IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces); + typedef IfcTemplatedEntityList< IfcConnectedFaceSet > list; }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -12164,25 +11824,23 @@ public: class IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. - IfcCurveOrEdgeCurve CurveOnRelatingElement(); + IfcCurveOrEdgeCurve CurveOnRelatingElement() const; void setCurveOnRelatingElement(IfcCurveOrEdgeCurve v); /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry - bool hasCurveOnRelatedElement(); + bool hasCurveOnRelatedElement() const; /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcCurveOrEdgeCurve CurveOnRelatedElement(); + IfcCurveOrEdgeCurve CurveOnRelatedElement() const; void setCurveOnRelatedElement(IfcCurveOrEdgeCurve v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CurveOnRelatingElement"; case 1: return "CurveOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionCurveGeometry (IfcAbstractEntityPtr e); + IfcConnectionCurveGeometry (IfcAbstractEntity* e); IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement); - typedef IfcConnectionCurveGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionCurveGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry >::it it; + 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: /// @@ -12206,32 +11864,30 @@ public: class IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInX(); + bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInX(); + IfcLengthMeasure EccentricityInX() const; void setEccentricityInX(IfcLengthMeasure v); /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInY(); + bool hasEccentricityInY() const; /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInY(); + IfcLengthMeasure EccentricityInY() const; void setEccentricityInY(IfcLengthMeasure v); /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInZ(); + bool hasEccentricityInZ() const; /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInZ(); + IfcLengthMeasure EccentricityInZ() const; void setEccentricityInZ(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcConnectionPointGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EccentricityInX"; case 3: return "EccentricityInY"; case 4: return "EccentricityInZ"; } return IfcConnectionPointGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionPointEccentricity (IfcAbstractEntityPtr e); + IfcConnectionPointEccentricity (IfcAbstractEntity* e); IfcConnectionPointEccentricity (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ); - typedef IfcConnectionPointEccentricity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPointEccentricity > > list; - typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity >::it it; + 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. /// @@ -12243,20 +11899,18 @@ public: class IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; } return IfcNamedUnit::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Name"; } return IfcNamedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcContextDependentUnit (IfcAbstractEntityPtr e); + IfcContextDependentUnit (IfcAbstractEntity* e); IfcContextDependentUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name); - typedef IfcContextDependentUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcContextDependentUnit > > list; - typedef IfcTemplatedEntityList< IfcContextDependentUnit >::it it; + typedef IfcTemplatedEntityList< IfcContextDependentUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -12308,23 +11962,21 @@ public: class IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// The physical quantity from which the converted unit is derived. - IfcMeasureWithUnit* ConversionFactor(); + IfcMeasureWithUnit* ConversionFactor() const; void setConversionFactor(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Name"; case 3: return "ConversionFactor"; } return IfcNamedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConversionBasedUnit (IfcAbstractEntityPtr e); + IfcConversionBasedUnit (IfcAbstractEntity* e); IfcConversionBasedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor); - typedef IfcConversionBasedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConversionBasedUnit > > list; - typedef IfcTemplatedEntityList< IfcConversionBasedUnit >::it it; + typedef IfcTemplatedEntityList< IfcConversionBasedUnit > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -12346,32 +11998,30 @@ public: class IfcCurveStyle : public IfcPresentationStyle { public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle - bool hasCurveFont(); + 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(); + IfcCurveFontOrScaledCurveFontSelect CurveFont() const; void setCurveFont(IfcCurveFontOrScaledCurveFontSelect v); /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle - bool hasCurveWidth(); + bool hasCurveWidth() const; /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. - IfcSizeSelect CurveWidth(); + IfcSizeSelect CurveWidth() const; void setCurveWidth(IfcSizeSelect v); /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle - bool hasCurveColour(); + bool hasCurveColour() const; /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. - IfcColour CurveColour(); + IfcColour CurveColour() const; void setCurveColour(IfcColour v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CurveFont"; case 2: return "CurveWidth"; case 3: return "CurveColour"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyle (IfcAbstractEntityPtr e); + IfcCurveStyle (IfcAbstractEntity* e); IfcCurveStyle (boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour); - typedef IfcCurveStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyle > > list; - typedef IfcTemplatedEntityList< IfcCurveStyle >::it it; + 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. /// @@ -12460,28 +12110,26 @@ public: class IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. - IfcProfileDef* ParentProfile(); + IfcProfileDef* ParentProfile() const; void setParentProfile(IfcProfileDef* v); /// Transformation operator applied to the parent profile. - IfcCartesianTransformationOperator2D* Operator(); + IfcCartesianTransformationOperator2D* Operator() const; void setOperator(IfcCartesianTransformationOperator2D* v); /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef - bool hasLabel(); + bool hasLabel() const; /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - IfcLabel Label(); + IfcLabel Label() const; void setLabel(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ParentProfile"; case 3: return "Operator"; case 4: return "Label"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDerivedProfileDef (IfcAbstractEntityPtr e); + IfcDerivedProfileDef (IfcAbstractEntity* e); IfcDerivedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label); - typedef IfcDerivedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedProfileDef > > list; - typedef IfcTemplatedEntityList< IfcDerivedProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcDerivedProfileDef > list; }; class IfcDimensionCalloutRelationship : public IfcDraughtingCalloutRelationship { @@ -12489,15 +12137,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCalloutRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDraughtingCalloutRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionCalloutRelationship (IfcAbstractEntityPtr e); + IfcDimensionCalloutRelationship (IfcAbstractEntity* e); IfcDimensionCalloutRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); - typedef IfcDimensionCalloutRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCalloutRelationship > > list; - typedef IfcTemplatedEntityList< IfcDimensionCalloutRelationship >::it it; + typedef IfcTemplatedEntityList< IfcDimensionCalloutRelationship > list; }; class IfcDimensionPair : public IfcDraughtingCalloutRelationship { @@ -12505,15 +12151,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCalloutRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDraughtingCalloutRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionPair (IfcAbstractEntityPtr e); + IfcDimensionPair (IfcAbstractEntity* e); IfcDimensionPair (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); - typedef IfcDimensionPair* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionPair > > list; - typedef IfcTemplatedEntityList< IfcDimensionPair >::it it; + typedef IfcTemplatedEntityList< IfcDimensionPair > list; }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -12531,16 +12175,14 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > ReferenceToDocument(); // INVERSE IfcDocumentInformation::DocumentReferences + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcDocumentInformation >::ptr ReferenceToDocument() const; // INVERSE IfcDocumentInformation::DocumentReferences bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentReference (IfcAbstractEntityPtr e); + IfcDocumentReference (IfcAbstractEntity* e); IfcDocumentReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); - typedef IfcDocumentReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > list; - typedef IfcTemplatedEntityList< IfcDocumentReference >::it it; + typedef IfcTemplatedEntityList< IfcDocumentReference > list; }; /// The draughting pre defined text font is a pre defined text font for the purpose to identify a font by name. Allowable names are: /// @@ -12557,15 +12199,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedTextFont::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedTextFont::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingPreDefinedTextFont (IfcAbstractEntityPtr e); + IfcDraughtingPreDefinedTextFont (IfcAbstractEntity* e); IfcDraughtingPreDefinedTextFont (IfcLabel v1_Name); - typedef IfcDraughtingPreDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedTextFont > > list; - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedTextFont >::it it; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedTextFont > list; }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -12619,23 +12259,21 @@ public: class IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. - IfcVertex* EdgeStart(); + IfcVertex* EdgeStart() const; void setEdgeStart(IfcVertex* v); /// End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd. - IfcVertex* EdgeEnd(); + IfcVertex* EdgeEnd() const; void setEdgeEnd(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeStart"; case 1: return "EdgeEnd"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdge (IfcAbstractEntityPtr e); + IfcEdge (IfcAbstractEntity* e); IfcEdge (IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd); - typedef IfcEdge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdge > > list; - typedef IfcTemplatedEntityList< IfcEdge >::it it; + typedef IfcTemplatedEntityList< IfcEdge > list; }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -12673,23 +12311,21 @@ public: 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(); + IfcCurve* EdgeGeometry() const; void setEdgeGeometry(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(); + bool SameSense() const; void setSameSense(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeGeometry"; case 3: return "SameSense"; } return IfcEdge::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdgeCurve (IfcAbstractEntityPtr e); + IfcEdgeCurve (IfcAbstractEntity* e); IfcEdgeCurve (IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCurve* v3_EdgeGeometry, bool v4_SameSense); - typedef IfcEdgeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeCurve > > list; - typedef IfcTemplatedEntityList< IfcEdgeCurve >::it it; + typedef IfcTemplatedEntityList< IfcEdgeCurve > list; }; /// The IfcExtendedMaterialProperties assign a set of /// defined material properties to associated material definitions. @@ -12728,26 +12364,24 @@ public: /// General Energy Calculation Properties class IfcExtendedMaterialProperties : public IfcMaterialProperties { public: - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > ExtendedProperties(); - void setExtendedProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr ExtendedProperties() const; + void setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); /// Whether the optional attribute Description is defined for this IfcExtendedMaterialProperties - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "ExtendedProperties"; case 2: return "Description"; case 3: return "Name"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExtendedMaterialProperties (IfcAbstractEntityPtr e); - IfcExtendedMaterialProperties (IfcMaterial* v1_Material, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v2_ExtendedProperties, boost::optional< IfcText > v3_Description, IfcLabel v4_Name); - typedef IfcExtendedMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtendedMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcExtendedMaterialProperties >::it it; + IfcExtendedMaterialProperties (IfcAbstractEntity* e); + IfcExtendedMaterialProperties (IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< IfcText > v3_Description, IfcLabel v4_Name); + typedef IfcTemplatedEntityList< IfcExtendedMaterialProperties > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -12796,20 +12430,18 @@ public: class IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. - SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > Bounds(); - void setBounds(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v); + IfcTemplatedEntityList< IfcFaceBound >::ptr Bounds() const; + void setBounds(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bounds"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFace (IfcAbstractEntityPtr e); - IfcFace (SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds); - typedef IfcFace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFace > > list; - typedef IfcTemplatedEntityList< IfcFace >::it it; + IfcFace (IfcAbstractEntity* e); + IfcFace (IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds); + typedef IfcTemplatedEntityList< IfcFace > list; }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -12819,23 +12451,21 @@ public: class IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. - IfcLoop* Bound(); + IfcLoop* Bound() const; void setBound(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(); + bool Orientation() const; void setOrientation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bound"; case 1: return "Orientation"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceBound (IfcAbstractEntityPtr e); + IfcFaceBound (IfcAbstractEntity* e); IfcFaceBound (IfcLoop* v1_Bound, bool v2_Orientation); - typedef IfcFaceBound* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > list; - typedef IfcTemplatedEntityList< IfcFaceBound >::it it; + typedef IfcTemplatedEntityList< IfcFaceBound > list; }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -12847,15 +12477,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFaceBound::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFaceBound::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceOuterBound (IfcAbstractEntityPtr e); + IfcFaceOuterBound (IfcAbstractEntity* e); IfcFaceOuterBound (IfcLoop* v1_Bound, bool v2_Orientation); - typedef IfcFaceOuterBound* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceOuterBound > > list; - typedef IfcTemplatedEntityList< IfcFaceOuterBound >::it it; + typedef IfcTemplatedEntityList< IfcFaceOuterBound > list; }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -12896,23 +12524,21 @@ public: 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(); + IfcSurface* FaceSurface() const; void setFaceSurface(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(); + bool SameSense() const; void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } return IfcFace::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FaceSurface"; case 2: return "SameSense"; } return IfcFace::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceSurface (IfcAbstractEntityPtr e); - IfcFaceSurface (SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense); - typedef IfcFaceSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceSurface > > list; - typedef IfcTemplatedEntityList< IfcFaceSurface >::it it; + IfcFaceSurface (IfcAbstractEntity* e); + IfcFaceSurface (IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense); + typedef IfcTemplatedEntityList< IfcFaceSurface > list; }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -12924,47 +12550,45 @@ public: class IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition - bool hasTensionFailureX(); + bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - IfcForceMeasure TensionFailureX(); + IfcForceMeasure TensionFailureX() const; void setTensionFailureX(IfcForceMeasure v); /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition - bool hasTensionFailureY(); + bool hasTensionFailureY() const; /// Tension force in y-direction leading to failure of the connection. - IfcForceMeasure TensionFailureY(); + IfcForceMeasure TensionFailureY() const; void setTensionFailureY(IfcForceMeasure v); /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition - bool hasTensionFailureZ(); + bool hasTensionFailureZ() const; /// Tension force in z-direction leading to failure of the connection. - IfcForceMeasure TensionFailureZ(); + IfcForceMeasure TensionFailureZ() const; void setTensionFailureZ(IfcForceMeasure v); /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureX(); + bool hasCompressionFailureX() const; /// Compression force in x-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureX(); + IfcForceMeasure CompressionFailureX() const; void setCompressionFailureX(IfcForceMeasure v); /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureY(); + bool hasCompressionFailureY() const; /// Compression force in y-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureY(); + IfcForceMeasure CompressionFailureY() const; void setCompressionFailureY(IfcForceMeasure v); /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureZ(); + bool hasCompressionFailureZ() const; /// Compression force in z-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureZ(); + IfcForceMeasure CompressionFailureZ() const; void setCompressionFailureZ(IfcForceMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TensionFailureX"; case 2: return "TensionFailureY"; case 3: return "TensionFailureZ"; case 4: return "CompressionFailureX"; case 5: return "CompressionFailureY"; case 6: return "CompressionFailureZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFailureConnectionCondition (IfcAbstractEntityPtr e); + IfcFailureConnectionCondition (IfcAbstractEntity* e); IfcFailureConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ); - typedef IfcFailureConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFailureConnectionCondition > > list; - typedef IfcTemplatedEntityList< IfcFailureConnectionCondition >::it it; + typedef IfcTemplatedEntityList< IfcFailureConnectionCondition > list; }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -13003,116 +12627,108 @@ public: class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > FillStyles(); - void setFillStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr FillStyles() const; + void setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FillStyles"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyle (IfcAbstractEntityPtr e); - IfcFillAreaStyle (boost::optional< IfcLabel > v1_Name, IfcEntities v2_FillStyles); - typedef IfcFillAreaStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyle > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyle >::it it; + IfcFillAreaStyle (IfcAbstractEntity* e); + IfcFillAreaStyle (boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles); + typedef IfcTemplatedEntityList< IfcFillAreaStyle > list; }; class IfcFuelProperties : public IfcMaterialProperties { public: /// Whether the optional attribute CombustionTemperature is defined for this IfcFuelProperties - bool hasCombustionTemperature(); - IfcThermodynamicTemperatureMeasure CombustionTemperature(); + bool hasCombustionTemperature() const; + IfcThermodynamicTemperatureMeasure CombustionTemperature() const; void setCombustionTemperature(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute CarbonContent is defined for this IfcFuelProperties - bool hasCarbonContent(); - IfcPositiveRatioMeasure CarbonContent(); + bool hasCarbonContent() const; + IfcPositiveRatioMeasure CarbonContent() const; void setCarbonContent(IfcPositiveRatioMeasure v); /// Whether the optional attribute LowerHeatingValue is defined for this IfcFuelProperties - bool hasLowerHeatingValue(); - IfcHeatingValueMeasure LowerHeatingValue(); + bool hasLowerHeatingValue() const; + IfcHeatingValueMeasure LowerHeatingValue() const; void setLowerHeatingValue(IfcHeatingValueMeasure v); /// Whether the optional attribute HigherHeatingValue is defined for this IfcFuelProperties - bool hasHigherHeatingValue(); - IfcHeatingValueMeasure HigherHeatingValue(); + bool hasHigherHeatingValue() const; + IfcHeatingValueMeasure HigherHeatingValue() const; void setHigherHeatingValue(IfcHeatingValueMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CombustionTemperature"; case 2: return "CarbonContent"; case 3: return "LowerHeatingValue"; case 4: return "HigherHeatingValue"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFuelProperties (IfcAbstractEntityPtr e); + IfcFuelProperties (IfcAbstractEntity* e); IfcFuelProperties (IfcMaterial* v1_Material, boost::optional< IfcThermodynamicTemperatureMeasure > v2_CombustionTemperature, boost::optional< IfcPositiveRatioMeasure > v3_CarbonContent, boost::optional< IfcHeatingValueMeasure > v4_LowerHeatingValue, boost::optional< IfcHeatingValueMeasure > v5_HigherHeatingValue); - typedef IfcFuelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFuelProperties > > list; - typedef IfcTemplatedEntityList< IfcFuelProperties >::it it; + typedef IfcTemplatedEntityList< IfcFuelProperties > list; }; class IfcGeneralMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute MolecularWeight is defined for this IfcGeneralMaterialProperties - bool hasMolecularWeight(); - IfcMolecularWeightMeasure MolecularWeight(); + bool hasMolecularWeight() const; + IfcMolecularWeightMeasure MolecularWeight() const; void setMolecularWeight(IfcMolecularWeightMeasure v); /// Whether the optional attribute Porosity is defined for this IfcGeneralMaterialProperties - bool hasPorosity(); - IfcNormalisedRatioMeasure Porosity(); + bool hasPorosity() const; + IfcNormalisedRatioMeasure Porosity() const; void setPorosity(IfcNormalisedRatioMeasure v); /// Whether the optional attribute MassDensity is defined for this IfcGeneralMaterialProperties - bool hasMassDensity(); - IfcMassDensityMeasure MassDensity(); + bool hasMassDensity() const; + IfcMassDensityMeasure MassDensity() const; void setMassDensity(IfcMassDensityMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "MolecularWeight"; case 2: return "Porosity"; case 3: return "MassDensity"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeneralMaterialProperties (IfcAbstractEntityPtr e); + IfcGeneralMaterialProperties (IfcAbstractEntity* e); IfcGeneralMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcMolecularWeightMeasure > v2_MolecularWeight, boost::optional< IfcNormalisedRatioMeasure > v3_Porosity, boost::optional< IfcMassDensityMeasure > v4_MassDensity); - typedef IfcGeneralMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeneralMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcGeneralMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcGeneralMaterialProperties > list; }; class IfcGeneralProfileProperties : public IfcProfileProperties { public: /// Whether the optional attribute PhysicalWeight is defined for this IfcGeneralProfileProperties - bool hasPhysicalWeight(); - IfcMassPerLengthMeasure PhysicalWeight(); + bool hasPhysicalWeight() const; + IfcMassPerLengthMeasure PhysicalWeight() const; void setPhysicalWeight(IfcMassPerLengthMeasure v); /// Whether the optional attribute Perimeter is defined for this IfcGeneralProfileProperties - bool hasPerimeter(); - IfcPositiveLengthMeasure Perimeter(); + bool hasPerimeter() const; + IfcPositiveLengthMeasure Perimeter() const; void setPerimeter(IfcPositiveLengthMeasure v); /// Whether the optional attribute MinimumPlateThickness is defined for this IfcGeneralProfileProperties - bool hasMinimumPlateThickness(); - IfcPositiveLengthMeasure MinimumPlateThickness(); + bool hasMinimumPlateThickness() const; + IfcPositiveLengthMeasure MinimumPlateThickness() const; void setMinimumPlateThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute MaximumPlateThickness is defined for this IfcGeneralProfileProperties - bool hasMaximumPlateThickness(); - IfcPositiveLengthMeasure MaximumPlateThickness(); + bool hasMaximumPlateThickness() const; + IfcPositiveLengthMeasure MaximumPlateThickness() const; void setMaximumPlateThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute CrossSectionArea is defined for this IfcGeneralProfileProperties - bool hasCrossSectionArea(); - IfcAreaMeasure CrossSectionArea(); + bool hasCrossSectionArea() const; + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcProfileProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "PhysicalWeight"; case 3: return "Perimeter"; case 4: return "MinimumPlateThickness"; case 5: return "MaximumPlateThickness"; case 6: return "CrossSectionArea"; } return IfcProfileProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeneralProfileProperties (IfcAbstractEntityPtr e); + IfcGeneralProfileProperties (IfcAbstractEntity* e); IfcGeneralProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea); - typedef IfcGeneralProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeneralProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcGeneralProfileProperties >::it it; + typedef IfcTemplatedEntityList< IfcGeneralProfileProperties > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -13164,36 +12780,34 @@ public: class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. - IfcDimensionCount CoordinateSpaceDimension(); + IfcDimensionCount CoordinateSpaceDimension() const; void setCoordinateSpaceDimension(IfcDimensionCount v); /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext - bool hasPrecision(); + bool hasPrecision() const; /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. - double Precision(); + double Precision() const; void setPrecision(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(); + IfcAxis2Placement WorldCoordinateSystem() const; void setWorldCoordinateSystem(IfcAxis2Placement v); /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext - bool hasTrueNorth(); + bool hasTrueNorth() const; /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. - IfcDirection* TrueNorth(); + IfcDirection* TrueNorth() const; void setTrueNorth(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "CoordinateSpaceDimension"; case 3: return "Precision"; case 4: return "WorldCoordinateSystem"; case 5: return "TrueNorth"; } return IfcRepresentationContext::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > > HasSubContexts(); // INVERSE IfcGeometricRepresentationSubContext::ParentContext + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::ptr HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricRepresentationContext (IfcAbstractEntityPtr e); + IfcGeometricRepresentationContext (IfcAbstractEntity* e); IfcGeometricRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); - typedef IfcGeometricRepresentationContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationContext > > list; - typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext >::it it; + 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: /// @@ -13219,15 +12833,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricRepresentationItem (IfcAbstractEntityPtr e); + IfcGeometricRepresentationItem (IfcAbstractEntity* e); IfcGeometricRepresentationItem (); - typedef IfcGeometricRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationItem > > list; - typedef IfcTemplatedEntityList< IfcGeometricRepresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationItem > list; }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -13245,10 +12857,10 @@ public: class IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. - IfcGeometricRepresentationContext* ParentContext(); + IfcGeometricRepresentationContext* ParentContext() const; void setParentContext(IfcGeometricRepresentationContext* v); /// Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext - bool hasTargetScale(); + bool hasTargetScale() const; /// The target plot scale of the representation /// to which this representation context applies. /// Scale indicates the target plot scale for @@ -13260,28 +12872,26 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - IfcPositiveRatioMeasure TargetScale(); + IfcPositiveRatioMeasure TargetScale() const; void setTargetScale(IfcPositiveRatioMeasure v); /// Target view of the representation to which this representation context applies. - IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView(); + IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView() const; void setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext - bool hasUserDefinedTargetView(); + bool hasUserDefinedTargetView() const; /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - IfcLabel UserDefinedTargetView(); + IfcLabel UserDefinedTargetView() const; void setUserDefinedTargetView(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcGeometricRepresentationContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ParentContext"; case 7: return "TargetScale"; case 8: return "TargetView"; case 9: return "UserDefinedTargetView"; } return IfcGeometricRepresentationContext::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricRepresentationSubContext (IfcAbstractEntityPtr e); + IfcGeometricRepresentationSubContext (IfcAbstractEntity* e); IfcGeometricRepresentationSubContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView); - typedef IfcGeometricRepresentationSubContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > > list; - typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::it it; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -13293,20 +12903,18 @@ public: class IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Elements(); - void setElements(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Elements() const; + void setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricSet (IfcAbstractEntityPtr e); - IfcGeometricSet (IfcEntities v1_Elements); - typedef IfcGeometricSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricSet > > list; - typedef IfcTemplatedEntityList< IfcGeometricSet >::it it; + IfcGeometricSet (IfcAbstractEntity* e); + IfcGeometricSet (IfcEntityList::ptr v1_Elements); + typedef IfcTemplatedEntityList< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -13356,27 +12964,25 @@ public: class IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. - IfcVirtualGridIntersection* PlacementLocation(); + IfcVirtualGridIntersection* PlacementLocation() const; void setPlacementLocation(IfcVirtualGridIntersection* v); /// Whether the optional attribute PlacementRefDirection is defined for this IfcGridPlacement - bool hasPlacementRefDirection(); + bool hasPlacementRefDirection() const; /// 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(); + IfcVirtualGridIntersection* PlacementRefDirection() const; void setPlacementRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementLocation"; case 1: return "PlacementRefDirection"; } return IfcObjectPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGridPlacement (IfcAbstractEntityPtr e); + IfcGridPlacement (IfcAbstractEntity* e); IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, IfcVirtualGridIntersection* v2_PlacementRefDirection); - typedef IfcGridPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGridPlacement > > list; - typedef IfcTemplatedEntityList< IfcGridPlacement >::it it; + 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. /// @@ -13396,59 +13002,55 @@ public: class IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: /// Surface defining side of half space. - IfcSurface* BaseSurface(); + IfcSurface* BaseSurface() const; void setBaseSurface(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(); + bool AgreementFlag() const; void setAgreementFlag(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BaseSurface"; case 1: return "AgreementFlag"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHalfSpaceSolid (IfcAbstractEntityPtr e); + IfcHalfSpaceSolid (IfcAbstractEntity* e); IfcHalfSpaceSolid (IfcSurface* v1_BaseSurface, bool v2_AgreementFlag); - typedef IfcHalfSpaceSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHalfSpaceSolid > > list; - typedef IfcTemplatedEntityList< IfcHalfSpaceSolid >::it it; + typedef IfcTemplatedEntityList< IfcHalfSpaceSolid > list; }; class IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute UpperVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties - bool hasUpperVaporResistanceFactor(); - IfcPositiveRatioMeasure UpperVaporResistanceFactor(); + bool hasUpperVaporResistanceFactor() const; + IfcPositiveRatioMeasure UpperVaporResistanceFactor() const; void setUpperVaporResistanceFactor(IfcPositiveRatioMeasure v); /// Whether the optional attribute LowerVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties - bool hasLowerVaporResistanceFactor(); - IfcPositiveRatioMeasure LowerVaporResistanceFactor(); + bool hasLowerVaporResistanceFactor() const; + IfcPositiveRatioMeasure LowerVaporResistanceFactor() const; void setLowerVaporResistanceFactor(IfcPositiveRatioMeasure v); /// Whether the optional attribute IsothermalMoistureCapacity is defined for this IfcHygroscopicMaterialProperties - bool hasIsothermalMoistureCapacity(); - IfcIsothermalMoistureCapacityMeasure IsothermalMoistureCapacity(); + bool hasIsothermalMoistureCapacity() const; + IfcIsothermalMoistureCapacityMeasure IsothermalMoistureCapacity() const; void setIsothermalMoistureCapacity(IfcIsothermalMoistureCapacityMeasure v); /// Whether the optional attribute VaporPermeability is defined for this IfcHygroscopicMaterialProperties - bool hasVaporPermeability(); - IfcVaporPermeabilityMeasure VaporPermeability(); + bool hasVaporPermeability() const; + IfcVaporPermeabilityMeasure VaporPermeability() const; void setVaporPermeability(IfcVaporPermeabilityMeasure v); /// Whether the optional attribute MoistureDiffusivity is defined for this IfcHygroscopicMaterialProperties - bool hasMoistureDiffusivity(); - IfcMoistureDiffusivityMeasure MoistureDiffusivity(); + bool hasMoistureDiffusivity() const; + IfcMoistureDiffusivityMeasure MoistureDiffusivity() const; void setMoistureDiffusivity(IfcMoistureDiffusivityMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "UpperVaporResistanceFactor"; case 2: return "LowerVaporResistanceFactor"; case 3: return "IsothermalMoistureCapacity"; case 4: return "VaporPermeability"; case 5: return "MoistureDiffusivity"; } return IfcMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHygroscopicMaterialProperties (IfcAbstractEntityPtr e); + IfcHygroscopicMaterialProperties (IfcAbstractEntity* e); IfcHygroscopicMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_UpperVaporResistanceFactor, boost::optional< IfcPositiveRatioMeasure > v3_LowerVaporResistanceFactor, boost::optional< IfcIsothermalMoistureCapacityMeasure > v4_IsothermalMoistureCapacity, boost::optional< IfcVaporPermeabilityMeasure > v5_VaporPermeability, boost::optional< IfcMoistureDiffusivityMeasure > v6_MoistureDiffusivity); - typedef IfcHygroscopicMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHygroscopicMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcHygroscopicMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcHygroscopicMaterialProperties > list; }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -13487,20 +13089,18 @@ public: /// HISTORY  New entity in Release IFC2x2. class IfcImageTexture : public IfcSurfaceTexture { public: - IfcIdentifier UrlReference(); + IfcIdentifier UrlReference() const; void setUrlReference(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "UrlReference"; } return IfcSurfaceTexture::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcImageTexture (IfcAbstractEntityPtr e); + IfcImageTexture (IfcAbstractEntity* e); IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_UrlReference); - typedef IfcImageTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcImageTexture > > list; - typedef IfcTemplatedEntityList< IfcImageTexture >::it it; + 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. /// @@ -13510,20 +13110,18 @@ public: class IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. - SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > Values(); - void setValues(SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v); + IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr Values() const; + void setValues(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "Values"; } return IfcTimeSeries::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIrregularTimeSeries (IfcAbstractEntityPtr e); - IfcIrregularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v9_Values); - typedef IfcIrregularTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeries > > list; - typedef IfcTemplatedEntityList< IfcIrregularTimeSeries >::it it; + IfcIrregularTimeSeries (IfcAbstractEntity* e); + IfcIrregularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); + 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. /// @@ -13535,36 +13133,34 @@ public: class IfcLightSource : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Name is defined for this IfcLightSource - bool hasName(); + bool hasName() const; /// The name given to the light source in presentation. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel 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(); + IfcColourRgb* LightColour() const; void setLightColour(IfcColourRgb* v); /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource - bool hasAmbientIntensity(); + bool hasAmbientIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure AmbientIntensity(); + IfcNormalisedRatioMeasure AmbientIntensity() const; void setAmbientIntensity(IfcNormalisedRatioMeasure v); /// Whether the optional attribute Intensity is defined for this IfcLightSource - bool hasIntensity(); + bool hasIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure Intensity(); + IfcNormalisedRatioMeasure Intensity() const; void setIntensity(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "LightColour"; case 2: return "AmbientIntensity"; case 3: return "Intensity"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSource (IfcAbstractEntityPtr e); + IfcLightSource (IfcAbstractEntity* e); IfcLightSource (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); - typedef IfcLightSource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSource > > list; - typedef IfcTemplatedEntityList< IfcLightSource >::it it; + typedef IfcTemplatedEntityList< IfcLightSource > list; }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -13578,15 +13174,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceAmbient (IfcAbstractEntityPtr e); + IfcLightSourceAmbient (IfcAbstractEntity* e); IfcLightSourceAmbient (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); - typedef IfcLightSourceAmbient* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceAmbient > > list; - typedef IfcTemplatedEntityList< IfcLightSourceAmbient >::it it; + typedef IfcTemplatedEntityList< IfcLightSourceAmbient > list; }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -13601,20 +13195,18 @@ class IfcLightSourceDirectional : public IfcLightSource { 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(); + IfcDirection* Orientation() const; void setOrientation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Orientation"; } return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceDirectional (IfcAbstractEntityPtr e); + IfcLightSourceDirectional (IfcAbstractEntity* e); IfcLightSourceDirectional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation); - typedef IfcLightSourceDirectional* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceDirectional > > list; - typedef IfcTemplatedEntityList< IfcLightSourceDirectional >::it it; + typedef IfcTemplatedEntityList< IfcLightSourceDirectional > list; }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -13626,37 +13218,35 @@ public: class IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(IfcAxis2Placement3D* v); /// Whether the optional attribute ColourAppearance is defined for this IfcLightSourceGoniometric - bool hasColourAppearance(); + bool hasColourAppearance() const; /// 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(); + IfcColourRgb* ColourAppearance() const; void setColourAppearance(IfcColourRgb* v); /// The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). - IfcThermodynamicTemperatureMeasure ColourTemperature(); + IfcThermodynamicTemperatureMeasure ColourTemperature() const; void setColourTemperature(IfcThermodynamicTemperatureMeasure v); /// Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. - IfcLuminousFluxMeasure LuminousFlux(); + IfcLuminousFluxMeasure LuminousFlux() const; void setLuminousFlux(IfcLuminousFluxMeasure v); /// Identifies the types of light emitter from which the type required may be set. - IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource(); + IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource() const; void setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); /// The data source from which light distribution data is obtained. - IfcLightDistributionDataSourceSelect LightDistributionDataSource(); + IfcLightDistributionDataSourceSelect LightDistributionDataSource() const; void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "ColourAppearance"; case 6: return "ColourTemperature"; case 7: return "LuminousFlux"; case 8: return "LightEmissionSource"; case 9: return "LightDistributionDataSource"; } return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceGoniometric (IfcAbstractEntityPtr e); + IfcLightSourceGoniometric (IfcAbstractEntity* e); IfcLightSourceGoniometric (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); - typedef IfcLightSourceGoniometric* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceGoniometric > > list; - typedef IfcTemplatedEntityList< IfcLightSourceGoniometric >::it it; + 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. /// @@ -13677,33 +13267,31 @@ class IfcLightSourcePositional : public IfcLightSource { 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(); + IfcCartesianPoint* Position() const; void setPosition(IfcCartesianPoint* v); /// Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant. - IfcReal ConstantAttenuation(); + IfcReal ConstantAttenuation() const; void setConstantAttenuation(IfcReal v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source. - IfcReal DistanceAttenuation(); + IfcReal DistanceAttenuation() const; void setDistanceAttenuation(IfcReal v); /// Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source. - IfcReal QuadricAttenuation(); + IfcReal QuadricAttenuation() const; void setQuadricAttenuation(IfcReal v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "Radius"; case 6: return "ConstantAttenuation"; case 7: return "DistanceAttenuation"; case 8: return "QuadricAttenuation"; } return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourcePositional (IfcAbstractEntityPtr e); + IfcLightSourcePositional (IfcAbstractEntity* e); IfcLightSourcePositional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation); - typedef IfcLightSourcePositional* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourcePositional > > list; - typedef IfcTemplatedEntityList< IfcLightSourcePositional >::it it; + typedef IfcTemplatedEntityList< IfcLightSourcePositional > list; }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -13724,33 +13312,31 @@ class IfcLightSourceSpot : public IfcLightSourcePositional { public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// 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(); + IfcDirection* Orientation() const; void setOrientation(IfcDirection* v); /// Whether the optional attribute ConcentrationExponent is defined for this IfcLightSourceSpot - bool hasConcentrationExponent(); + bool hasConcentrationExponent() const; /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - IfcReal ConcentrationExponent(); + IfcReal ConcentrationExponent() const; void setConcentrationExponent(IfcReal v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. - IfcPositivePlaneAngleMeasure SpreadAngle(); + IfcPositivePlaneAngleMeasure SpreadAngle() const; void setSpreadAngle(IfcPositivePlaneAngleMeasure v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (beamWidthAngle) to the outer solid angle (spreadAngle). - IfcPositivePlaneAngleMeasure BeamWidthAngle(); + IfcPositivePlaneAngleMeasure BeamWidthAngle() const; void setBeamWidthAngle(IfcPositivePlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcLightSourcePositional::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Orientation"; case 10: return "ConcentrationExponent"; case 11: return "SpreadAngle"; case 12: return "BeamWidthAngle"; } return IfcLightSourcePositional::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceSpot (IfcAbstractEntityPtr e); + IfcLightSourceSpot (IfcAbstractEntity* e); IfcLightSourceSpot (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle); - typedef IfcLightSourceSpot* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceSpot > > list; - typedef IfcTemplatedEntityList< IfcLightSourceSpot >::it it; + typedef IfcTemplatedEntityList< IfcLightSourceSpot > list; }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -13807,25 +13393,23 @@ public: class IfcLocalPlacement : public IfcObjectPlacement { public: /// Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement - bool hasPlacementRelTo(); + 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(); + IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(IfcObjectPlacement* v); /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. - IfcAxis2Placement RelativePlacement(); + IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(IfcAxis2Placement v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementRelTo"; case 1: return "RelativePlacement"; } return IfcObjectPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLocalPlacement (IfcAbstractEntityPtr e); + IfcLocalPlacement (IfcAbstractEntity* e); IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement v2_RelativePlacement); - typedef IfcLocalPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLocalPlacement > > list; - typedef IfcTemplatedEntityList< IfcLocalPlacement >::it it; + typedef IfcTemplatedEntityList< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -13858,15 +13442,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLoop (IfcAbstractEntityPtr e); + IfcLoop (IfcAbstractEntity* e); IfcLoop (); - typedef IfcLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLoop > > list; - typedef IfcTemplatedEntityList< IfcLoop >::it it; + typedef IfcTemplatedEntityList< IfcLoop > list; }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -13890,23 +13472,21 @@ public: 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(); + IfcRepresentationMap* MappingSource() const; void setMappingSource(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(); + IfcCartesianTransformationOperator* MappingTarget() const; void setMappingTarget(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappingSource"; case 1: return "MappingTarget"; } return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMappedItem (IfcAbstractEntityPtr e); + IfcMappedItem (IfcAbstractEntity* e); IfcMappedItem (IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget); - typedef IfcMappedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMappedItem > > list; - typedef IfcTemplatedEntityList< IfcMappedItem >::it it; + typedef IfcTemplatedEntityList< IfcMappedItem > list; }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -13941,60 +13521,56 @@ public: class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. - IfcMaterial* RepresentedMaterial(); + IfcMaterial* RepresentedMaterial() const; void setRepresentedMaterial(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "RepresentedMaterial"; } return IfcProductRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialDefinitionRepresentation (IfcAbstractEntityPtr e); - IfcMaterialDefinitionRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations, IfcMaterial* v4_RepresentedMaterial); - typedef IfcMaterialDefinitionRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > > list; - typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation >::it it; + IfcMaterialDefinitionRepresentation (IfcAbstractEntity* e); + IfcMaterialDefinitionRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial); + typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > list; }; class IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProperties { public: /// Whether the optional attribute CompressiveStrength is defined for this IfcMechanicalConcreteMaterialProperties - bool hasCompressiveStrength(); - IfcPressureMeasure CompressiveStrength(); + bool hasCompressiveStrength() const; + IfcPressureMeasure CompressiveStrength() const; void setCompressiveStrength(IfcPressureMeasure v); /// Whether the optional attribute MaxAggregateSize is defined for this IfcMechanicalConcreteMaterialProperties - bool hasMaxAggregateSize(); - IfcPositiveLengthMeasure MaxAggregateSize(); + bool hasMaxAggregateSize() const; + IfcPositiveLengthMeasure MaxAggregateSize() const; void setMaxAggregateSize(IfcPositiveLengthMeasure v); /// Whether the optional attribute AdmixturesDescription is defined for this IfcMechanicalConcreteMaterialProperties - bool hasAdmixturesDescription(); - IfcText AdmixturesDescription(); + bool hasAdmixturesDescription() const; + IfcText AdmixturesDescription() const; void setAdmixturesDescription(IfcText v); /// Whether the optional attribute Workability is defined for this IfcMechanicalConcreteMaterialProperties - bool hasWorkability(); - IfcText Workability(); + bool hasWorkability() const; + IfcText Workability() const; void setWorkability(IfcText v); /// Whether the optional attribute ProtectivePoreRatio is defined for this IfcMechanicalConcreteMaterialProperties - bool hasProtectivePoreRatio(); - IfcNormalisedRatioMeasure ProtectivePoreRatio(); + bool hasProtectivePoreRatio() const; + IfcNormalisedRatioMeasure ProtectivePoreRatio() const; void setProtectivePoreRatio(IfcNormalisedRatioMeasure v); /// Whether the optional attribute WaterImpermeability is defined for this IfcMechanicalConcreteMaterialProperties - bool hasWaterImpermeability(); - IfcText WaterImpermeability(); + bool hasWaterImpermeability() const; + IfcText WaterImpermeability() const; void setWaterImpermeability(IfcText v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_STRING; } return IfcMechanicalMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "CompressiveStrength"; case 7: return "MaxAggregateSize"; case 8: return "AdmixturesDescription"; case 9: return "Workability"; case 10: return "ProtectivePoreRatio"; case 11: return "WaterImpermeability"; } return IfcMechanicalMaterialProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalConcreteMaterialProperties (IfcAbstractEntityPtr e); + IfcMechanicalConcreteMaterialProperties (IfcAbstractEntity* e); IfcMechanicalConcreteMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_CompressiveStrength, boost::optional< IfcPositiveLengthMeasure > v8_MaxAggregateSize, boost::optional< IfcText > v9_AdmixturesDescription, boost::optional< IfcText > v10_Workability, boost::optional< IfcNormalisedRatioMeasure > v11_ProtectivePoreRatio, boost::optional< IfcText > v12_WaterImpermeability); - typedef IfcMechanicalConcreteMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalConcreteMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcMechanicalConcreteMaterialProperties >::it it; + typedef IfcTemplatedEntityList< IfcMechanicalConcreteMaterialProperties > list; }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -14051,19 +13627,17 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssigns > > HasAssignments(); // INVERSE IfcRelAssigns::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > IsDecomposedBy(); // INVERSE IfcRelDecomposes::RelatingObject - SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > Decomposes(); // INVERSE IfcRelDecomposes::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects + IfcTemplatedEntityList< IfcRelDecomposes >::ptr IsDecomposedBy() const; // INVERSE IfcRelDecomposes::RelatingObject + IfcTemplatedEntityList< IfcRelDecomposes >::ptr Decomposes() const; // INVERSE IfcRelDecomposes::RelatedObjects + IfcTemplatedEntityList< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObjectDefinition (IfcAbstractEntityPtr e); + IfcObjectDefinition (IfcAbstractEntity* e); IfcObjectDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcObjectDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > list; - typedef IfcTemplatedEntityList< IfcObjectDefinition >::it it; + typedef IfcTemplatedEntityList< IfcObjectDefinition > list; }; /// Definition from ISO/CD 10303-46:1992: A one time repeat factor is a vector used in the fill area style hatching and fill area style tiles entities for determining the origin of the repeated hatch line relative to the origin of the previous hatch line, Given the initial position of any hatch line, the one direction repeat factor determines two new positions according to the equation: /// @@ -14075,20 +13649,18 @@ public: class IfcOneDirectionRepeatFactor : public IfcGeometricRepresentationItem { public: /// A vector which specifies the relative positioning of hatch lines. - IfcVector* RepeatFactor(); + IfcVector* RepeatFactor() const; void setRepeatFactor(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RepeatFactor"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOneDirectionRepeatFactor (IfcAbstractEntityPtr e); + IfcOneDirectionRepeatFactor (IfcAbstractEntity* e); IfcOneDirectionRepeatFactor (IfcVector* v1_RepeatFactor); - typedef IfcOneDirectionRepeatFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOneDirectionRepeatFactor > > list; - typedef IfcTemplatedEntityList< IfcOneDirectionRepeatFactor >::it it; + typedef IfcTemplatedEntityList< IfcOneDirectionRepeatFactor > list; }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -14154,15 +13726,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConnectedFaceSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOpenShell (IfcAbstractEntityPtr e); - IfcOpenShell (SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces); - typedef IfcOpenShell* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpenShell > > list; - typedef IfcTemplatedEntityList< IfcOpenShell >::it it; + IfcOpenShell (IfcAbstractEntity* e); + IfcOpenShell (IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces); + typedef IfcTemplatedEntityList< IfcOpenShell > list; }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -14174,23 +13744,21 @@ public: class IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. - IfcEdge* EdgeElement(); + IfcEdge* EdgeElement() const; void setEdgeElement(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(); + bool Orientation() const; void setOrientation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeElement"; case 3: return "Orientation"; } return IfcEdge::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrientedEdge (IfcAbstractEntityPtr e); + IfcOrientedEdge (IfcAbstractEntity* e); IfcOrientedEdge (IfcEdge* v3_EdgeElement, bool v4_Orientation); - typedef IfcOrientedEdge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > list; - typedef IfcTemplatedEntityList< IfcOrientedEdge >::it it; + typedef IfcTemplatedEntityList< IfcOrientedEdge > list; }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -14237,20 +13805,18 @@ public: class IfcParameterizedProfileDef : public IfcProfileDef { public: /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. - IfcAxis2Placement2D* Position(); + IfcAxis2Placement2D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Position"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcParameterizedProfileDef (IfcAbstractEntityPtr e); + IfcParameterizedProfileDef (IfcAbstractEntity* e); IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position); - typedef IfcParameterizedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcParameterizedProfileDef > > list; - typedef IfcTemplatedEntityList< IfcParameterizedProfileDef >::it it; + 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). /// @@ -14269,20 +13835,18 @@ public: class IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. - SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > EdgeList(); - void setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v); + IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; + void setEdgeList(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeList"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPath (IfcAbstractEntityPtr e); - IfcPath (SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList); - typedef IfcPath* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPath > > list; - typedef IfcTemplatedEntityList< IfcPath >::it it; + IfcPath (IfcAbstractEntity* e); + IfcPath (IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList); + typedef IfcTemplatedEntityList< IfcPath > list; }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -14296,33 +13860,31 @@ public: class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > HasQuantities(); - void setHasQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v); + IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; + void setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. - IfcLabel Discrimination(); + IfcLabel Discrimination() const; void setDiscrimination(IfcLabel v); /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity - bool hasQuality(); + bool hasQuality() const; /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - IfcLabel Quality(); + IfcLabel Quality() const; void setQuality(IfcLabel v); /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity - bool hasUsage(); + bool hasUsage() const; /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - IfcLabel Usage(); + IfcLabel Usage() const; void setUsage(IfcLabel v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcPhysicalQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "HasQuantities"; case 3: return "Discrimination"; case 4: return "Quality"; case 5: return "Usage"; } return IfcPhysicalQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPhysicalComplexQuantity (IfcAbstractEntityPtr e); - IfcPhysicalComplexQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage); - typedef IfcPhysicalComplexQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalComplexQuantity > > list; - typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity >::it it; + IfcPhysicalComplexQuantity (IfcAbstractEntity* e); + IfcPhysicalComplexQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage); + typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity > list; }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -14345,13 +13907,13 @@ public: class IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. - IfcInteger Width(); + IfcInteger Width() const; void setWidth(IfcInteger v); /// The number of pixels in height (T) direction. - IfcInteger Height(); + IfcInteger Height() const; void setHeight(IfcInteger v); /// Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. - IfcInteger ColourComponents(); + IfcInteger ColourComponents() const; void setColourComponents(IfcInteger v); /// Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. /// @@ -14359,15 +13921,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; case 7: return IfcUtil::Argument_UNKNOWN; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Width"; case 5: return "Height"; case 6: return "ColourComponents"; case 7: return "Pixel"; } return IfcSurfaceTexture::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPixelTexture (IfcAbstractEntityPtr e); + IfcPixelTexture (IfcAbstractEntity* e); IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcInteger v5_Width, IfcInteger v6_Height, IfcInteger v7_ColourComponents); - typedef IfcPixelTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPixelTexture > > list; - typedef IfcTemplatedEntityList< IfcPixelTexture >::it it; + 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. /// @@ -14381,20 +13941,18 @@ public: 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(); + IfcCartesianPoint* Location() const; void setLocation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Location"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlacement (IfcAbstractEntityPtr e); + IfcPlacement (IfcAbstractEntity* e); IfcPlacement (IfcCartesianPoint* v1_Location); - typedef IfcPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlacement > > list; - typedef IfcTemplatedEntityList< IfcPlacement >::it it; + typedef IfcTemplatedEntityList< IfcPlacement > list; }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -14404,23 +13962,21 @@ public: class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. - IfcLengthMeasure SizeInX(); + IfcLengthMeasure SizeInX() const; void setSizeInX(IfcLengthMeasure v); /// The extent in the direction of the y-axis. - IfcLengthMeasure SizeInY(); + IfcLengthMeasure SizeInY() const; void setSizeInY(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SizeInX"; case 1: return "SizeInY"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlanarExtent (IfcAbstractEntityPtr e); + IfcPlanarExtent (IfcAbstractEntity* e); IfcPlanarExtent (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY); - typedef IfcPlanarExtent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlanarExtent > > list; - typedef IfcTemplatedEntityList< IfcPlanarExtent >::it it; + typedef IfcTemplatedEntityList< IfcPlanarExtent > list; }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -14432,15 +13988,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPoint (IfcAbstractEntityPtr e); + IfcPoint (IfcAbstractEntity* e); IfcPoint (); - typedef IfcPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPoint > > list; - typedef IfcTemplatedEntityList< IfcPoint >::it it; + typedef IfcTemplatedEntityList< IfcPoint > list; }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -14454,23 +14008,21 @@ public: class IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. - IfcCurve* BasisCurve(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The parameter value of the point location. - IfcParameterValue PointParameter(); + IfcParameterValue PointParameter() const; void setPointParameter(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "PointParameter"; } return IfcPoint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPointOnCurve (IfcAbstractEntityPtr e); + IfcPointOnCurve (IfcAbstractEntity* e); IfcPointOnCurve (IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter); - typedef IfcPointOnCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPointOnCurve > > list; - typedef IfcTemplatedEntityList< IfcPointOnCurve >::it it; + typedef IfcTemplatedEntityList< IfcPointOnCurve > list; }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -14484,26 +14036,24 @@ public: class IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. - IfcSurface* BasisSurface(); + IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// The first parameter value of the point location. - IfcParameterValue PointParameterU(); + IfcParameterValue PointParameterU() const; void setPointParameterU(IfcParameterValue v); /// The second parameter value of the point location. - IfcParameterValue PointParameterV(); + IfcParameterValue PointParameterV() const; void setPointParameterV(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "PointParameterU"; case 2: return "PointParameterV"; } return IfcPoint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPointOnSurface (IfcAbstractEntityPtr e); + IfcPointOnSurface (IfcAbstractEntity* e); IfcPointOnSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV); - typedef IfcPointOnSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPointOnSurface > > list; - typedef IfcTemplatedEntityList< IfcPointOnSurface >::it it; + typedef IfcTemplatedEntityList< IfcPointOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -14547,20 +14097,18 @@ public: class IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > Polygon(); - void setPolygon(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr Polygon() const; + void setPolygon(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Polygon"; } return IfcLoop::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPolyLoop (IfcAbstractEntityPtr e); - IfcPolyLoop (SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Polygon); - typedef IfcPolyLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolyLoop > > list; - typedef IfcTemplatedEntityList< IfcPolyLoop >::it it; + IfcPolyLoop (IfcAbstractEntity* e); + IfcPolyLoop (IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Polygon); + typedef IfcTemplatedEntityList< IfcPolyLoop > list; }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -14621,25 +14169,23 @@ public: class IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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(); + IfcBoundedCurve* PolygonalBoundary() const; void setPolygonalBoundary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Position"; case 3: return "PolygonalBoundary"; } return IfcHalfSpaceSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPolygonalBoundedHalfSpace (IfcAbstractEntityPtr e); + IfcPolygonalBoundedHalfSpace (IfcAbstractEntity* e); IfcPolygonalBoundedHalfSpace (IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary); - typedef IfcPolygonalBoundedHalfSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace > > list; - typedef IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace >::it it; + typedef IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace > list; }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -14651,15 +14197,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedColour (IfcAbstractEntityPtr e); + IfcPreDefinedColour (IfcAbstractEntity* e); IfcPreDefinedColour (IfcLabel v1_Name); - typedef IfcPreDefinedColour* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedColour > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedColour >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedColour > list; }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -14673,15 +14217,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedCurveFont (IfcAbstractEntityPtr e); + IfcPreDefinedCurveFont (IfcAbstractEntity* e); IfcPreDefinedCurveFont (IfcLabel v1_Name); - typedef IfcPreDefinedCurveFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedCurveFont > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont > list; }; class IfcPreDefinedDimensionSymbol : public IfcPreDefinedSymbol { @@ -14689,15 +14231,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedDimensionSymbol (IfcAbstractEntityPtr e); + IfcPreDefinedDimensionSymbol (IfcAbstractEntity* e); IfcPreDefinedDimensionSymbol (IfcLabel v1_Name); - typedef IfcPreDefinedDimensionSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol > list; }; class IfcPreDefinedPointMarkerSymbol : public IfcPreDefinedSymbol { @@ -14705,15 +14245,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedSymbol::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedPointMarkerSymbol (IfcAbstractEntityPtr e); + IfcPreDefinedPointMarkerSymbol (IfcAbstractEntity* e); IfcPreDefinedPointMarkerSymbol (IfcLabel v1_Name); - typedef IfcPreDefinedPointMarkerSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedPointMarkerSymbol > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedPointMarkerSymbol >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedPointMarkerSymbol > list; }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -14732,17 +14270,15 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProductRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProductRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > ShapeOfProduct(); // INVERSE IfcProduct::Representation - SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > HasShapeAspects(); // INVERSE IfcShapeAspect::PartOfProductDefinitionShape + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation + IfcTemplatedEntityList< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProductDefinitionShape (IfcAbstractEntityPtr e); - IfcProductDefinitionShape (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations); - typedef IfcProductDefinitionShape* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductDefinitionShape > > list; - typedef IfcTemplatedEntityList< IfcProductDefinitionShape >::it it; + IfcProductDefinitionShape (IfcAbstractEntity* e); + IfcProductDefinitionShape (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + typedef IfcTemplatedEntityList< IfcProductDefinitionShape > list; }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -14851,32 +14387,30 @@ public: class IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue - bool hasUpperBoundValue(); + 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(); + IfcValue UpperBoundValue() const; void setUpperBoundValue(IfcValue v); /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue - bool hasLowerBoundValue(); + bool hasLowerBoundValue() const; /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). - IfcValue LowerBoundValue(); + IfcValue LowerBoundValue() const; void setLowerBoundValue(IfcValue v); /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue - bool hasUnit(); + bool hasUnit() const; /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UpperBoundValue"; case 3: return "LowerBoundValue"; case 4: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyBoundedValue (IfcAbstractEntityPtr e); + IfcPropertyBoundedValue (IfcAbstractEntity* e); IfcPropertyBoundedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit); - typedef IfcPropertyBoundedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyBoundedValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyBoundedValue >::it it; + typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -14933,16 +14467,14 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyDefinition (IfcAbstractEntityPtr e); + IfcPropertyDefinition (IfcAbstractEntity* e); IfcPropertyDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertyDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDefinition > > list; - typedef IfcTemplatedEntityList< IfcPropertyDefinition >::it it; + typedef IfcTemplatedEntityList< IfcPropertyDefinition > list; }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -15026,25 +14558,23 @@ public: /// Enumeration values, which shall be listed in the referenced IfcPropertyEnumeration, if such a reference is provided. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > EnumerationValues(); - void setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; + void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationReference(); + bool hasEnumerationReference() const; /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. - IfcPropertyEnumeration* EnumerationReference(); + IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EnumerationValues"; case 3: return "EnumerationReference"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyEnumeratedValue (IfcAbstractEntityPtr e); - IfcPropertyEnumeratedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); - typedef IfcPropertyEnumeratedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyEnumeratedValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue >::it it; + IfcPropertyEnumeratedValue (IfcAbstractEntity* e); + IfcPropertyEnumeratedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); + typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -15116,25 +14646,23 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ListValues(); - void setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; + void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyListValue - bool hasUnit(); + bool hasUnit() const; /// Unit for the list values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ListValues"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyListValue (IfcAbstractEntityPtr e); - IfcPropertyListValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_ListValues, boost::optional< IfcUnit > v4_Unit); - typedef IfcPropertyListValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyListValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyListValue >::it it; + IfcPropertyListValue (IfcAbstractEntity* e); + IfcPropertyListValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_ListValues, boost::optional< IfcUnit > v4_Unit); + typedef IfcTemplatedEntityList< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -15154,27 +14682,25 @@ public: class IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue - bool hasUsageName(); + bool hasUsageName() const; /// Description of the use of the referenced value within the property. - IfcLabel UsageName(); + IfcLabel UsageName() const; void setUsageName(IfcLabel 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(); + IfcObjectReferenceSelect PropertyReference() const; void setPropertyReference(IfcObjectReferenceSelect v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "PropertyReference"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyReferenceValue (IfcAbstractEntityPtr e); + IfcPropertyReferenceValue (IfcAbstractEntity* e); IfcPropertyReferenceValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UsageName, IfcObjectReferenceSelect v4_PropertyReference); - typedef IfcPropertyReferenceValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyReferenceValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyReferenceValue >::it it; + typedef IfcTemplatedEntityList< IfcPropertyReferenceValue > list; }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -15223,17 +14749,15 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertyDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > PropertyDefinitionOf(); // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition - SHARED_PTR< IfcTemplatedEntityList< IfcTypeObject > > DefinesType(); // INVERSE IfcTypeObject::HasPropertySets + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr PropertyDefinitionOf() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition + IfcTemplatedEntityList< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySetDefinition (IfcAbstractEntityPtr e); + IfcPropertySetDefinition (IfcAbstractEntity* e); IfcPropertySetDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertySetDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > list; - typedef IfcTemplatedEntityList< IfcPropertySetDefinition >::it it; + typedef IfcTemplatedEntityList< IfcPropertySetDefinition > list; }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -15282,31 +14806,29 @@ public: class IfcPropertySingleValue : public IfcSimpleProperty { public: /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue - bool hasNominalValue(); + 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(); + IfcValue NominalValue() const; void setNominalValue(IfcValue v); /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue - bool hasUnit(); + bool hasUnit() const; /// Unit for the nominal value, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "NominalValue"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySingleValue (IfcAbstractEntityPtr e); + IfcPropertySingleValue (IfcAbstractEntity* e); IfcPropertySingleValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit); - typedef IfcPropertySingleValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySingleValue > > list; - typedef IfcTemplatedEntityList< IfcPropertySingleValue >::it it; + typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -15459,40 +14981,38 @@ public: /// List of defining values, which determine the defined values. This list shall have unique values only. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > DefiningValues(); - void setDefiningValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefiningValues() const; + void setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::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. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > DefinedValues(); - void setDefinedValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefinedValues() const; + void setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue - bool hasExpression(); + bool hasExpression() const; /// Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression. - IfcText Expression(); + IfcText Expression() const; void setExpression(IfcText v); /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue - bool hasDefiningUnit(); + bool hasDefiningUnit() const; /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefiningUnit(); + IfcUnit DefiningUnit() const; void setDefiningUnit(IfcUnit v); /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue - bool hasDefinedUnit(); + bool hasDefinedUnit() const; /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefinedUnit(); + IfcUnit DefinedUnit() const; void setDefinedUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "DefiningValues"; case 3: return "DefinedValues"; case 4: return "Expression"; case 5: return "DefiningUnit"; case 6: return "DefinedUnit"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyTableValue (IfcAbstractEntityPtr e); - IfcPropertyTableValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_DefiningValues, IfcEntities v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit); - typedef IfcPropertyTableValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTableValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyTableValue >::it it; + IfcPropertyTableValue (IfcAbstractEntity* e); + IfcPropertyTableValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit); + 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. /// @@ -15531,23 +15051,21 @@ public: class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. - IfcPositiveLengthMeasure XDim(); + IfcPositiveLengthMeasure XDim() const; void setXDim(IfcPositiveLengthMeasure v); /// The extent of the rectangle in the direction of the y-axis. - IfcPositiveLengthMeasure YDim(); + IfcPositiveLengthMeasure YDim() const; void setYDim(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "XDim"; case 4: return "YDim"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangleProfileDef (IfcAbstractEntityPtr e); + IfcRectangleProfileDef (IfcAbstractEntity* e); IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim); - typedef IfcRectangleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangleProfileDef > > list; - typedef IfcTemplatedEntityList< IfcRectangleProfileDef >::it it; + 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. /// @@ -15557,23 +15075,21 @@ public: class IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. - IfcTimeMeasure TimeStep(); + IfcTimeMeasure TimeStep() const; void setTimeStep(IfcTimeMeasure v); /// The collection of time series values. - SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > Values(); - void setValues(SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v); + IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr Values() const; + void setValues(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "TimeStep"; case 9: return "Values"; } return IfcTimeSeries::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRegularTimeSeries (IfcAbstractEntityPtr e); - IfcRegularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v10_Values); - typedef IfcRegularTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRegularTimeSeries > > list; - typedef IfcTemplatedEntityList< IfcRegularTimeSeries >::it it; + IfcRegularTimeSeries (IfcAbstractEntity* e); + IfcRegularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); + typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -15604,25 +15120,23 @@ public: class IfcReinforcementDefinitionProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties - bool hasDefinitionType(); + bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - IfcLabel DefinitionType(); + IfcLabel DefinitionType() const; void setDefinitionType(IfcLabel v); /// The list of section reinforcement properties attached to the reinforcement definition properties. - SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > ReinforcementSectionDefinitions(); - void setReinforcementSectionDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v); + IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; + void setReinforcementSectionDefinitions(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "DefinitionType"; case 5: return "ReinforcementSectionDefinitions"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcementDefinitionProperties (IfcAbstractEntityPtr e); - IfcReinforcementDefinitionProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v6_ReinforcementSectionDefinitions); - typedef IfcReinforcementDefinitionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > > list; - typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties >::it it; + IfcReinforcementDefinitionProperties (IfcAbstractEntity* e); + IfcReinforcementDefinitionProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); + typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > list; }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -15637,15 +15151,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelationship (IfcAbstractEntityPtr e); + IfcRelationship (IfcAbstractEntity* e); IfcRelationship (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelationship > > list; - typedef IfcTemplatedEntityList< IfcRelationship >::it it; + typedef IfcTemplatedEntityList< IfcRelationship > list; }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -15687,20 +15199,18 @@ public: class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. - IfcPositiveLengthMeasure RoundingRadius(); + IfcPositiveLengthMeasure RoundingRadius() const; void setRoundingRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RoundingRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoundedRectangleProfileDef (IfcAbstractEntityPtr e); + IfcRoundedRectangleProfileDef (IfcAbstractEntity* e); IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius); - typedef IfcRoundedRectangleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > > list; - typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > list; }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -15758,54 +15268,50 @@ public: 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(); + IfcCompositeCurve* SpineCurve() const; void setSpineCurve(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. - SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > CrossSections(); - void setCrossSections(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v); + IfcTemplatedEntityList< IfcProfileDef >::ptr CrossSections() const; + void setCrossSections(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. - SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > CrossSectionPositions(); - void setCrossSectionPositions(SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v); + IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr CrossSectionPositions() const; + void setCrossSectionPositions(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SpineCurve"; case 1: return "CrossSections"; case 2: return "CrossSectionPositions"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSectionedSpine (IfcAbstractEntityPtr e); - IfcSectionedSpine (IfcCompositeCurve* v1_SpineCurve, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v2_CrossSections, SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v3_CrossSectionPositions); - typedef IfcSectionedSpine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionedSpine > > list; - typedef IfcTemplatedEntityList< IfcSectionedSpine >::it it; + IfcSectionedSpine (IfcAbstractEntity* e); + IfcSectionedSpine (IfcCompositeCurve* v1_SpineCurve, IfcTemplatedEntityList< IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v3_CrossSectionPositions); + typedef IfcTemplatedEntityList< IfcSectionedSpine > list; }; class IfcServiceLifeFactor : public IfcPropertySetDefinition { public: - IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum PredefinedType(); + IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum PredefinedType() const; void setPredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v); /// Whether the optional attribute UpperValue is defined for this IfcServiceLifeFactor - bool hasUpperValue(); - IfcMeasureValue UpperValue(); + bool hasUpperValue() const; + IfcMeasureValue UpperValue() const; void setUpperValue(IfcMeasureValue v); - IfcMeasureValue MostUsedValue(); + IfcMeasureValue MostUsedValue() const; void setMostUsedValue(IfcMeasureValue v); /// Whether the optional attribute LowerValue is defined for this IfcServiceLifeFactor - bool hasLowerValue(); - IfcMeasureValue LowerValue(); + bool hasLowerValue() const; + IfcMeasureValue LowerValue() const; void setLowerValue(IfcMeasureValue v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "PredefinedType"; case 5: return "UpperValue"; case 6: return "MostUsedValue"; case 7: return "LowerValue"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcServiceLifeFactor (IfcAbstractEntityPtr e); + IfcServiceLifeFactor (IfcAbstractEntity* e); IfcServiceLifeFactor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue > v6_UpperValue, IfcMeasureValue v7_MostUsedValue, boost::optional< IfcMeasureValue > v8_LowerValue); - typedef IfcServiceLifeFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcServiceLifeFactor > > list; - typedef IfcTemplatedEntityList< IfcServiceLifeFactor >::it it; + 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. /// @@ -15821,20 +15327,18 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > SbsmBoundary(); - void setSbsmBoundary(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr SbsmBoundary() const; + void setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SbsmBoundary"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShellBasedSurfaceModel (IfcAbstractEntityPtr e); - IfcShellBasedSurfaceModel (IfcEntities v1_SbsmBoundary); - typedef IfcShellBasedSurfaceModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShellBasedSurfaceModel > > list; - typedef IfcTemplatedEntityList< IfcShellBasedSurfaceModel >::it it; + IfcShellBasedSurfaceModel (IfcAbstractEntity* e); + IfcShellBasedSurfaceModel (IfcEntityList::ptr v1_SbsmBoundary); + typedef IfcTemplatedEntityList< IfcShellBasedSurfaceModel > list; }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -15848,32 +15352,30 @@ public: class IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition - bool hasSlippageX(); + bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageX(); + IfcLengthMeasure SlippageX() const; void setSlippageX(IfcLengthMeasure v); /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition - bool hasSlippageY(); + bool hasSlippageY() const; /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageY(); + IfcLengthMeasure SlippageY() const; void setSlippageY(IfcLengthMeasure v); /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition - bool hasSlippageZ(); + bool hasSlippageZ() const; /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageZ(); + IfcLengthMeasure SlippageZ() const; void setSlippageZ(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SlippageX"; case 2: return "SlippageY"; case 3: return "SlippageZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlippageConnectionCondition (IfcAbstractEntityPtr e); + IfcSlippageConnectionCondition (IfcAbstractEntity* e); IfcSlippageConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ); - typedef IfcSlippageConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlippageConnectionCondition > > list; - typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition >::it it; + typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition > list; }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -15885,113 +15387,105 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSolidModel (IfcAbstractEntityPtr e); + IfcSolidModel (IfcAbstractEntity* e); IfcSolidModel (); - typedef IfcSolidModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSolidModel > > list; - typedef IfcTemplatedEntityList< IfcSolidModel >::it it; + typedef IfcTemplatedEntityList< IfcSolidModel > list; }; class IfcSoundProperties : public IfcPropertySetDefinition { public: - IfcBoolean IsAttenuating(); + IfcBoolean IsAttenuating() const; void setIsAttenuating(IfcBoolean v); /// Whether the optional attribute SoundScale is defined for this IfcSoundProperties - bool hasSoundScale(); - IfcSoundScaleEnum::IfcSoundScaleEnum SoundScale(); + bool hasSoundScale() const; + IfcSoundScaleEnum::IfcSoundScaleEnum SoundScale() const; void setSoundScale(IfcSoundScaleEnum::IfcSoundScaleEnum v); - SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > SoundValues(); - void setSoundValues(SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > v); + IfcTemplatedEntityList< IfcSoundValue >::ptr SoundValues() const; + void setSoundValues(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "IsAttenuating"; case 5: return "SoundScale"; case 6: return "SoundValues"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSoundProperties (IfcAbstractEntityPtr e); - IfcSoundProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcBoolean v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > v7_SoundValues); - typedef IfcSoundProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSoundProperties > > list; - typedef IfcTemplatedEntityList< IfcSoundProperties >::it it; + IfcSoundProperties (IfcAbstractEntity* e); + IfcSoundProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcBoolean v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues); + typedef IfcTemplatedEntityList< IfcSoundProperties > list; }; class IfcSoundValue : public IfcPropertySetDefinition { public: /// Whether the optional attribute SoundLevelTimeSeries is defined for this IfcSoundValue - bool hasSoundLevelTimeSeries(); - IfcTimeSeries* SoundLevelTimeSeries(); + bool hasSoundLevelTimeSeries() const; + IfcTimeSeries* SoundLevelTimeSeries() const; void setSoundLevelTimeSeries(IfcTimeSeries* v); - IfcFrequencyMeasure Frequency(); + IfcFrequencyMeasure Frequency() const; void setFrequency(IfcFrequencyMeasure v); /// Whether the optional attribute SoundLevelSingleValue is defined for this IfcSoundValue - bool hasSoundLevelSingleValue(); - IfcDerivedMeasureValue SoundLevelSingleValue(); + bool hasSoundLevelSingleValue() const; + IfcDerivedMeasureValue SoundLevelSingleValue() const; void setSoundLevelSingleValue(IfcDerivedMeasureValue v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "SoundLevelTimeSeries"; case 5: return "Frequency"; case 6: return "SoundLevelSingleValue"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSoundValue (IfcAbstractEntityPtr e); + IfcSoundValue (IfcAbstractEntity* e); IfcSoundValue (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, IfcFrequencyMeasure v6_Frequency, boost::optional< IfcDerivedMeasureValue > v7_SoundLevelSingleValue); - typedef IfcSoundValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSoundValue > > list; - typedef IfcTemplatedEntityList< IfcSoundValue >::it it; + typedef IfcTemplatedEntityList< IfcSoundValue > list; }; class IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute ApplicableValueRatio is defined for this IfcSpaceThermalLoadProperties - bool hasApplicableValueRatio(); - IfcPositiveRatioMeasure ApplicableValueRatio(); + bool hasApplicableValueRatio() const; + IfcPositiveRatioMeasure ApplicableValueRatio() const; void setApplicableValueRatio(IfcPositiveRatioMeasure v); - IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum ThermalLoadSource(); + IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum ThermalLoadSource() const; void setThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v); - IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource(); + IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource() const; void setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); /// Whether the optional attribute SourceDescription is defined for this IfcSpaceThermalLoadProperties - bool hasSourceDescription(); - IfcText SourceDescription(); + bool hasSourceDescription() const; + IfcText SourceDescription() const; void setSourceDescription(IfcText v); - IfcPowerMeasure MaximumValue(); + IfcPowerMeasure MaximumValue() const; void setMaximumValue(IfcPowerMeasure v); /// Whether the optional attribute MinimumValue is defined for this IfcSpaceThermalLoadProperties - bool hasMinimumValue(); - IfcPowerMeasure MinimumValue(); + bool hasMinimumValue() const; + IfcPowerMeasure MinimumValue() const; void setMinimumValue(IfcPowerMeasure v); /// Whether the optional attribute ThermalLoadTimeSeriesValues is defined for this IfcSpaceThermalLoadProperties - bool hasThermalLoadTimeSeriesValues(); - IfcTimeSeries* ThermalLoadTimeSeriesValues(); + bool hasThermalLoadTimeSeriesValues() const; + IfcTimeSeries* ThermalLoadTimeSeriesValues() const; void setThermalLoadTimeSeriesValues(IfcTimeSeries* v); /// Whether the optional attribute UserDefinedThermalLoadSource is defined for this IfcSpaceThermalLoadProperties - bool hasUserDefinedThermalLoadSource(); - IfcLabel UserDefinedThermalLoadSource(); + bool hasUserDefinedThermalLoadSource() const; + IfcLabel UserDefinedThermalLoadSource() const; void setUserDefinedThermalLoadSource(IfcLabel v); /// Whether the optional attribute UserDefinedPropertySource is defined for this IfcSpaceThermalLoadProperties - bool hasUserDefinedPropertySource(); - IfcLabel UserDefinedPropertySource(); + bool hasUserDefinedPropertySource() const; + IfcLabel UserDefinedPropertySource() const; void setUserDefinedPropertySource(IfcLabel v); - IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum ThermalLoadType(); + IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum ThermalLoadType() const; void setThermalLoadType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ApplicableValueRatio"; case 5: return "ThermalLoadSource"; case 6: return "PropertySource"; case 7: return "SourceDescription"; case 8: return "MaximumValue"; case 9: return "MinimumValue"; case 10: return "ThermalLoadTimeSeriesValues"; case 11: return "UserDefinedThermalLoadSource"; case 12: return "UserDefinedPropertySource"; case 13: return "ThermalLoadType"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceThermalLoadProperties (IfcAbstractEntityPtr e); + IfcSpaceThermalLoadProperties (IfcAbstractEntity* e); IfcSpaceThermalLoadProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveRatioMeasure > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< IfcText > v8_SourceDescription, IfcPowerMeasure v9_MaximumValue, boost::optional< IfcPowerMeasure > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< IfcLabel > v12_UserDefinedThermalLoadSource, boost::optional< IfcLabel > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType); - typedef IfcSpaceThermalLoadProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceThermalLoadProperties > > list; - typedef IfcTemplatedEntityList< IfcSpaceThermalLoadProperties >::it it; + typedef IfcTemplatedEntityList< IfcSpaceThermalLoadProperties > list; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -16001,47 +15495,45 @@ public: class IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceX(); + bool hasLinearForceX() const; /// Linear force value in x-direction. - IfcLinearForceMeasure LinearForceX(); + IfcLinearForceMeasure LinearForceX() const; void setLinearForceX(IfcLinearForceMeasure v); /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceY(); + bool hasLinearForceY() const; /// Linear force value in y-direction. - IfcLinearForceMeasure LinearForceY(); + IfcLinearForceMeasure LinearForceY() const; void setLinearForceY(IfcLinearForceMeasure v); /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceZ(); + bool hasLinearForceZ() const; /// Linear force value in z-direction. - IfcLinearForceMeasure LinearForceZ(); + IfcLinearForceMeasure LinearForceZ() const; void setLinearForceZ(IfcLinearForceMeasure v); /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentX(); + bool hasLinearMomentX() const; /// Linear moment about the x-axis. - IfcLinearMomentMeasure LinearMomentX(); + IfcLinearMomentMeasure LinearMomentX() const; void setLinearMomentX(IfcLinearMomentMeasure v); /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentY(); + bool hasLinearMomentY() const; /// Linear moment about the y-axis. - IfcLinearMomentMeasure LinearMomentY(); + IfcLinearMomentMeasure LinearMomentY() const; void setLinearMomentY(IfcLinearMomentMeasure v); /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentZ(); + bool hasLinearMomentZ() const; /// Linear moment about the z-axis. - IfcLinearMomentMeasure LinearMomentZ(); + IfcLinearMomentMeasure LinearMomentZ() const; void setLinearMomentZ(IfcLinearMomentMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearForceX"; case 2: return "LinearForceY"; case 3: return "LinearForceZ"; case 4: return "LinearMomentX"; case 5: return "LinearMomentY"; case 6: return "LinearMomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadLinearForce (IfcAbstractEntityPtr e); + IfcStructuralLoadLinearForce (IfcAbstractEntity* e); IfcStructuralLoadLinearForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ); - typedef IfcStructuralLoadLinearForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadLinearForce > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce > list; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -16051,32 +15543,30 @@ public: class IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceX(); + bool hasPlanarForceX() const; /// Planar force value in x-direction. - IfcPlanarForceMeasure PlanarForceX(); + IfcPlanarForceMeasure PlanarForceX() const; void setPlanarForceX(IfcPlanarForceMeasure v); /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceY(); + bool hasPlanarForceY() const; /// Planar force value in y-direction. - IfcPlanarForceMeasure PlanarForceY(); + IfcPlanarForceMeasure PlanarForceY() const; void setPlanarForceY(IfcPlanarForceMeasure v); /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceZ(); + bool hasPlanarForceZ() const; /// Planar force value in z-direction. - IfcPlanarForceMeasure PlanarForceZ(); + IfcPlanarForceMeasure PlanarForceZ() const; void setPlanarForceZ(IfcPlanarForceMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "PlanarForceX"; case 2: return "PlanarForceY"; case 3: return "PlanarForceZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadPlanarForce (IfcAbstractEntityPtr e); + IfcStructuralLoadPlanarForce (IfcAbstractEntity* e); IfcStructuralLoadPlanarForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ); - typedef IfcStructuralLoadPlanarForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -16086,47 +15576,45 @@ public: class IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementX(); + bool hasDisplacementX() const; /// Displacement in x-direction. - IfcLengthMeasure DisplacementX(); + IfcLengthMeasure DisplacementX() const; void setDisplacementX(IfcLengthMeasure v); /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementY(); + bool hasDisplacementY() const; /// Displacement in y-direction. - IfcLengthMeasure DisplacementY(); + IfcLengthMeasure DisplacementY() const; void setDisplacementY(IfcLengthMeasure v); /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementZ(); + bool hasDisplacementZ() const; /// Displacement in z-direction. - IfcLengthMeasure DisplacementZ(); + IfcLengthMeasure DisplacementZ() const; void setDisplacementZ(IfcLengthMeasure v); /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRX(); + bool hasRotationalDisplacementRX() const; /// Rotation about the x-axis. - IfcPlaneAngleMeasure RotationalDisplacementRX(); + IfcPlaneAngleMeasure RotationalDisplacementRX() const; void setRotationalDisplacementRX(IfcPlaneAngleMeasure v); /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRY(); + bool hasRotationalDisplacementRY() const; /// Rotation about the y-axis. - IfcPlaneAngleMeasure RotationalDisplacementRY(); + IfcPlaneAngleMeasure RotationalDisplacementRY() const; void setRotationalDisplacementRY(IfcPlaneAngleMeasure v); /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRZ(); + bool hasRotationalDisplacementRZ() const; /// Rotation about the z-axis. - IfcPlaneAngleMeasure RotationalDisplacementRZ(); + IfcPlaneAngleMeasure RotationalDisplacementRZ() const; void setRotationalDisplacementRZ(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DisplacementX"; case 2: return "DisplacementY"; case 3: return "DisplacementZ"; case 4: return "RotationalDisplacementRX"; case 5: return "RotationalDisplacementRY"; case 6: return "RotationalDisplacementRZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleDisplacement (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleDisplacement (IfcAbstractEntity* e); IfcStructuralLoadSingleDisplacement (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ); - typedef IfcStructuralLoadSingleDisplacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > list; }; /// Definition from IAI: Defines a displacement with warping. /// @@ -16134,22 +15622,20 @@ public: class IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion - bool hasDistortion(); + bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - IfcCurvatureMeasure Distortion(); + IfcCurvatureMeasure Distortion() const; void setDistortion(IfcCurvatureMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleDisplacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Distortion"; } return IfcStructuralLoadSingleDisplacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntity* e); IfcStructuralLoadSingleDisplacementDistortion (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion); - typedef IfcStructuralLoadSingleDisplacementDistortion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -16160,47 +15646,45 @@ public: class IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce - bool hasForceX(); + bool hasForceX() const; /// Force value in x-direction. - IfcForceMeasure ForceX(); + IfcForceMeasure ForceX() const; void setForceX(IfcForceMeasure v); /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce - bool hasForceY(); + bool hasForceY() const; /// Force value in y-direction. - IfcForceMeasure ForceY(); + IfcForceMeasure ForceY() const; void setForceY(IfcForceMeasure v); /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce - bool hasForceZ(); + bool hasForceZ() const; /// Force value in z-direction. - IfcForceMeasure ForceZ(); + IfcForceMeasure ForceZ() const; void setForceZ(IfcForceMeasure v); /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce - bool hasMomentX(); + bool hasMomentX() const; /// Moment about the x-axis. - IfcTorqueMeasure MomentX(); + IfcTorqueMeasure MomentX() const; void setMomentX(IfcTorqueMeasure v); /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce - bool hasMomentY(); + bool hasMomentY() const; /// Moment about the y-axis. - IfcTorqueMeasure MomentY(); + IfcTorqueMeasure MomentY() const; void setMomentY(IfcTorqueMeasure v); /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce - bool hasMomentZ(); + bool hasMomentZ() const; /// Moment about the z-axis. - IfcTorqueMeasure MomentZ(); + IfcTorqueMeasure MomentZ() const; void setMomentZ(IfcTorqueMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "ForceX"; case 2: return "ForceY"; case 3: return "ForceZ"; case 4: return "MomentX"; case 5: return "MomentY"; case 6: return "MomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleForce (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleForce (IfcAbstractEntity* e); IfcStructuralLoadSingleForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ); - typedef IfcStructuralLoadSingleForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleForce > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -16213,134 +15697,128 @@ public: class IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping - bool hasWarpingMoment(); + bool hasWarpingMoment() const; /// The warping moment at the point load. - IfcWarpingMomentMeasure WarpingMoment(); + IfcWarpingMomentMeasure WarpingMoment() const; void setWarpingMoment(IfcWarpingMomentMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleForce::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingMoment"; } return IfcStructuralLoadSingleForce::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleForceWarping (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleForceWarping (IfcAbstractEntity* e); IfcStructuralLoadSingleForceWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment); - typedef IfcStructuralLoadSingleForceWarping* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > list; }; class IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: /// Whether the optional attribute TorsionalConstantX is defined for this IfcStructuralProfileProperties - bool hasTorsionalConstantX(); - IfcMomentOfInertiaMeasure TorsionalConstantX(); + bool hasTorsionalConstantX() const; + IfcMomentOfInertiaMeasure TorsionalConstantX() const; void setTorsionalConstantX(IfcMomentOfInertiaMeasure v); /// Whether the optional attribute MomentOfInertiaYZ is defined for this IfcStructuralProfileProperties - bool hasMomentOfInertiaYZ(); - IfcMomentOfInertiaMeasure MomentOfInertiaYZ(); + bool hasMomentOfInertiaYZ() const; + IfcMomentOfInertiaMeasure MomentOfInertiaYZ() const; void setMomentOfInertiaYZ(IfcMomentOfInertiaMeasure v); /// Whether the optional attribute MomentOfInertiaY is defined for this IfcStructuralProfileProperties - bool hasMomentOfInertiaY(); - IfcMomentOfInertiaMeasure MomentOfInertiaY(); + bool hasMomentOfInertiaY() const; + IfcMomentOfInertiaMeasure MomentOfInertiaY() const; void setMomentOfInertiaY(IfcMomentOfInertiaMeasure v); /// Whether the optional attribute MomentOfInertiaZ is defined for this IfcStructuralProfileProperties - bool hasMomentOfInertiaZ(); - IfcMomentOfInertiaMeasure MomentOfInertiaZ(); + bool hasMomentOfInertiaZ() const; + IfcMomentOfInertiaMeasure MomentOfInertiaZ() const; void setMomentOfInertiaZ(IfcMomentOfInertiaMeasure v); /// Whether the optional attribute WarpingConstant is defined for this IfcStructuralProfileProperties - bool hasWarpingConstant(); - IfcWarpingConstantMeasure WarpingConstant(); + bool hasWarpingConstant() const; + IfcWarpingConstantMeasure WarpingConstant() const; void setWarpingConstant(IfcWarpingConstantMeasure v); /// Whether the optional attribute ShearCentreZ is defined for this IfcStructuralProfileProperties - bool hasShearCentreZ(); - IfcLengthMeasure ShearCentreZ(); + bool hasShearCentreZ() const; + IfcLengthMeasure ShearCentreZ() const; void setShearCentreZ(IfcLengthMeasure v); /// Whether the optional attribute ShearCentreY is defined for this IfcStructuralProfileProperties - bool hasShearCentreY(); - IfcLengthMeasure ShearCentreY(); + bool hasShearCentreY() const; + IfcLengthMeasure ShearCentreY() const; void setShearCentreY(IfcLengthMeasure v); /// Whether the optional attribute ShearDeformationAreaZ is defined for this IfcStructuralProfileProperties - bool hasShearDeformationAreaZ(); - IfcAreaMeasure ShearDeformationAreaZ(); + bool hasShearDeformationAreaZ() const; + IfcAreaMeasure ShearDeformationAreaZ() const; void setShearDeformationAreaZ(IfcAreaMeasure v); /// Whether the optional attribute ShearDeformationAreaY is defined for this IfcStructuralProfileProperties - bool hasShearDeformationAreaY(); - IfcAreaMeasure ShearDeformationAreaY(); + bool hasShearDeformationAreaY() const; + IfcAreaMeasure ShearDeformationAreaY() const; void setShearDeformationAreaY(IfcAreaMeasure v); /// Whether the optional attribute MaximumSectionModulusY is defined for this IfcStructuralProfileProperties - bool hasMaximumSectionModulusY(); - IfcSectionModulusMeasure MaximumSectionModulusY(); + bool hasMaximumSectionModulusY() const; + IfcSectionModulusMeasure MaximumSectionModulusY() const; void setMaximumSectionModulusY(IfcSectionModulusMeasure v); /// Whether the optional attribute MinimumSectionModulusY is defined for this IfcStructuralProfileProperties - bool hasMinimumSectionModulusY(); - IfcSectionModulusMeasure MinimumSectionModulusY(); + bool hasMinimumSectionModulusY() const; + IfcSectionModulusMeasure MinimumSectionModulusY() const; void setMinimumSectionModulusY(IfcSectionModulusMeasure v); /// Whether the optional attribute MaximumSectionModulusZ is defined for this IfcStructuralProfileProperties - bool hasMaximumSectionModulusZ(); - IfcSectionModulusMeasure MaximumSectionModulusZ(); + bool hasMaximumSectionModulusZ() const; + IfcSectionModulusMeasure MaximumSectionModulusZ() const; void setMaximumSectionModulusZ(IfcSectionModulusMeasure v); /// Whether the optional attribute MinimumSectionModulusZ is defined for this IfcStructuralProfileProperties - bool hasMinimumSectionModulusZ(); - IfcSectionModulusMeasure MinimumSectionModulusZ(); + bool hasMinimumSectionModulusZ() const; + IfcSectionModulusMeasure MinimumSectionModulusZ() const; void setMinimumSectionModulusZ(IfcSectionModulusMeasure v); /// Whether the optional attribute TorsionalSectionModulus is defined for this IfcStructuralProfileProperties - bool hasTorsionalSectionModulus(); - IfcSectionModulusMeasure TorsionalSectionModulus(); + bool hasTorsionalSectionModulus() const; + IfcSectionModulusMeasure TorsionalSectionModulus() const; void setTorsionalSectionModulus(IfcSectionModulusMeasure v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcStructuralProfileProperties - bool hasCentreOfGravityInX(); - IfcLengthMeasure CentreOfGravityInX(); + bool hasCentreOfGravityInX() const; + IfcLengthMeasure CentreOfGravityInX() const; void setCentreOfGravityInX(IfcLengthMeasure v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcStructuralProfileProperties - bool hasCentreOfGravityInY(); - IfcLengthMeasure CentreOfGravityInY(); + bool hasCentreOfGravityInY() const; + IfcLengthMeasure CentreOfGravityInY() const; void setCentreOfGravityInY(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 23; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_DOUBLE; case 19: return IfcUtil::Argument_DOUBLE; case 20: return IfcUtil::Argument_DOUBLE; case 21: return IfcUtil::Argument_DOUBLE; case 22: return IfcUtil::Argument_DOUBLE; } return IfcGeneralProfileProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "TorsionalConstantX"; case 8: return "MomentOfInertiaYZ"; case 9: return "MomentOfInertiaY"; case 10: return "MomentOfInertiaZ"; case 11: return "WarpingConstant"; case 12: return "ShearCentreZ"; case 13: return "ShearCentreY"; case 14: return "ShearDeformationAreaZ"; case 15: return "ShearDeformationAreaY"; case 16: return "MaximumSectionModulusY"; case 17: return "MinimumSectionModulusY"; case 18: return "MaximumSectionModulusZ"; case 19: return "MinimumSectionModulusZ"; case 20: return "TorsionalSectionModulus"; case 21: return "CentreOfGravityInX"; case 22: return "CentreOfGravityInY"; } return IfcGeneralProfileProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralProfileProperties (IfcAbstractEntityPtr e); + IfcStructuralProfileProperties (IfcAbstractEntity* e); IfcStructuralProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY); - typedef IfcStructuralProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcStructuralProfileProperties >::it it; + typedef IfcTemplatedEntityList< IfcStructuralProfileProperties > list; }; class IfcStructuralSteelProfileProperties : public IfcStructuralProfileProperties { public: /// Whether the optional attribute ShearAreaZ is defined for this IfcStructuralSteelProfileProperties - bool hasShearAreaZ(); - IfcAreaMeasure ShearAreaZ(); + bool hasShearAreaZ() const; + IfcAreaMeasure ShearAreaZ() const; void setShearAreaZ(IfcAreaMeasure v); /// Whether the optional attribute ShearAreaY is defined for this IfcStructuralSteelProfileProperties - bool hasShearAreaY(); - IfcAreaMeasure ShearAreaY(); + bool hasShearAreaY() const; + IfcAreaMeasure ShearAreaY() const; void setShearAreaY(IfcAreaMeasure v); /// Whether the optional attribute PlasticShapeFactorY is defined for this IfcStructuralSteelProfileProperties - bool hasPlasticShapeFactorY(); - IfcPositiveRatioMeasure PlasticShapeFactorY(); + bool hasPlasticShapeFactorY() const; + IfcPositiveRatioMeasure PlasticShapeFactorY() const; void setPlasticShapeFactorY(IfcPositiveRatioMeasure v); /// Whether the optional attribute PlasticShapeFactorZ is defined for this IfcStructuralSteelProfileProperties - bool hasPlasticShapeFactorZ(); - IfcPositiveRatioMeasure PlasticShapeFactorZ(); + bool hasPlasticShapeFactorZ() const; + IfcPositiveRatioMeasure PlasticShapeFactorZ() const; void setPlasticShapeFactorZ(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 27; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 23: return IfcUtil::Argument_DOUBLE; case 24: return IfcUtil::Argument_DOUBLE; case 25: return IfcUtil::Argument_DOUBLE; case 26: return IfcUtil::Argument_DOUBLE; } return IfcStructuralProfileProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 23: return "ShearAreaZ"; case 24: return "ShearAreaY"; case 25: return "PlasticShapeFactorY"; case 26: return "PlasticShapeFactorZ"; } return IfcStructuralProfileProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSteelProfileProperties (IfcAbstractEntityPtr e); + IfcStructuralSteelProfileProperties (IfcAbstractEntity* e); IfcStructuralSteelProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY, boost::optional< IfcAreaMeasure > v24_ShearAreaZ, boost::optional< IfcAreaMeasure > v25_ShearAreaY, boost::optional< IfcPositiveRatioMeasure > v26_PlasticShapeFactorY, boost::optional< IfcPositiveRatioMeasure > v27_PlasticShapeFactorZ); - typedef IfcStructuralSteelProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSteelProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcStructuralSteelProfileProperties >::it it; + 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. /// @@ -16355,20 +15833,18 @@ public: class IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. - IfcEdge* ParentEdge(); + IfcEdge* ParentEdge() const; void setParentEdge(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ParentEdge"; } return IfcEdge::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSubedge (IfcAbstractEntityPtr e); + IfcSubedge (IfcAbstractEntity* e); IfcSubedge (IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcEdge* v3_ParentEdge); - typedef IfcSubedge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubedge > > list; - typedef IfcTemplatedEntityList< IfcSubedge >::it it; + typedef IfcTemplatedEntityList< IfcSubedge > list; }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -16385,15 +15861,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurface (IfcAbstractEntityPtr e); + IfcSurface (IfcAbstractEntity* e); IfcSurface (); - typedef IfcSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurface > > list; - typedef IfcTemplatedEntityList< IfcSurface >::it it; + typedef IfcTemplatedEntityList< IfcSurface > list; }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -16443,66 +15917,64 @@ public: class IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// Whether the optional attribute Transparency is defined for this IfcSurfaceStyleRendering - bool hasTransparency(); + bool hasTransparency() const; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. - IfcNormalisedRatioMeasure Transparency(); + IfcNormalisedRatioMeasure Transparency() const; void setTransparency(IfcNormalisedRatioMeasure v); /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseColour(); + bool hasDiffuseColour() const; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. - IfcColourOrFactor DiffuseColour(); + IfcColourOrFactor DiffuseColour() const; void setDiffuseColour(IfcColourOrFactor v); /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasTransmissionColour(); + bool hasTransmissionColour() const; /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. - IfcColourOrFactor TransmissionColour(); + IfcColourOrFactor TransmissionColour() const; void setTransmissionColour(IfcColourOrFactor v); /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseTransmissionColour(); + bool hasDiffuseTransmissionColour() const; /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. - IfcColourOrFactor DiffuseTransmissionColour(); + IfcColourOrFactor DiffuseTransmissionColour() const; void setDiffuseTransmissionColour(IfcColourOrFactor v); /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering - bool hasReflectionColour(); + bool hasReflectionColour() const; /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. - IfcColourOrFactor ReflectionColour(); + IfcColourOrFactor ReflectionColour() const; void setReflectionColour(IfcColourOrFactor v); /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering - bool hasSpecularColour(); + bool hasSpecularColour() const; /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. - IfcColourOrFactor SpecularColour(); + IfcColourOrFactor SpecularColour() const; void setSpecularColour(IfcColourOrFactor v); /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering - bool hasSpecularHighlight(); + bool hasSpecularHighlight() const; /// The exponent or roughness part of the specular reflectance. - IfcSpecularHighlightSelect SpecularHighlight(); + IfcSpecularHighlightSelect SpecularHighlight() const; void setSpecularHighlight(IfcSpecularHighlightSelect v); /// Identifies the predefined types of reflectance method from which the method required may be set. - IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod(); + IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod() const; void setReflectanceMethod(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Transparency"; case 2: return "DiffuseColour"; case 3: return "TransmissionColour"; case 4: return "DiffuseTransmissionColour"; case 5: return "ReflectionColour"; case 6: return "SpecularColour"; case 7: return "SpecularHighlight"; case 8: return "ReflectanceMethod"; } return IfcSurfaceStyleShading::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleRendering (IfcAbstractEntityPtr e); + IfcSurfaceStyleRendering (IfcAbstractEntity* e); IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); - typedef IfcSurfaceStyleRendering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleRendering > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -16525,23 +15997,21 @@ public: 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(); + IfcProfileDef* SweptArea() const; void setSweptArea(IfcProfileDef* v); /// Position coordinate system for the swept area, provided by a profile definition within the XY plane of the Position. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SweptArea"; case 1: return "Position"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptAreaSolid (IfcAbstractEntityPtr e); + IfcSweptAreaSolid (IfcAbstractEntity* e); IfcSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position); - typedef IfcSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcSweptAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcSweptAreaSolid > list; }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -16599,38 +16069,36 @@ public: 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(); + IfcCurve* Directrix() const; void setDirectrix(IfcCurve* v); /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid - bool hasInnerRadius(); + bool hasInnerRadius() const; /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - IfcPositiveLengthMeasure InnerRadius(); + IfcPositiveLengthMeasure InnerRadius() const; void setInnerRadius(IfcPositiveLengthMeasure v); /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue StartParam(); + IfcParameterValue StartParam() const; void setStartParam(IfcParameterValue v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue EndParam(); + IfcParameterValue EndParam() const; void setEndParam(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Directrix"; case 1: return "Radius"; case 2: return "InnerRadius"; case 3: return "StartParam"; case 4: return "EndParam"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptDiskSolid (IfcAbstractEntityPtr e); + IfcSweptDiskSolid (IfcAbstractEntity* e); IfcSweptDiskSolid (IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam); - typedef IfcSweptDiskSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptDiskSolid > > list; - typedef IfcTemplatedEntityList< IfcSweptDiskSolid >::it it; + typedef IfcTemplatedEntityList< IfcSweptDiskSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -16640,23 +16108,21 @@ public: 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(); + IfcProfileDef* SweptCurve() const; void setSweptCurve(IfcProfileDef* v); /// Position coordinate system for the placement of the profile within the xy plane of the axis placement. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SweptCurve"; case 1: return "Position"; } return IfcSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptSurface (IfcAbstractEntityPtr e); + IfcSweptSurface (IfcAbstractEntity* e); IfcSweptSurface (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position); - typedef IfcSweptSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptSurface > > list; - typedef IfcTemplatedEntityList< IfcSweptSurface >::it it; + typedef IfcTemplatedEntityList< IfcSweptSurface > list; }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -16689,76 +16155,72 @@ public: class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth(); + IfcPositiveLengthMeasure FlangeWidth() const; void setFlangeWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius(); + IfcPositiveLengthMeasure FilletRadius() const; void setFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef - bool hasFlangeEdgeRadius(); + bool hasFlangeEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure FlangeEdgeRadius(); + IfcPositiveLengthMeasure FlangeEdgeRadius() const; void setFlangeEdgeRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef - bool hasWebEdgeRadius(); + bool hasWebEdgeRadius() const; /// Edge radius according the above illustration (= r3). - IfcPositiveLengthMeasure WebEdgeRadius(); + IfcPositiveLengthMeasure WebEdgeRadius() const; void setWebEdgeRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef - bool hasWebSlope(); + bool hasWebSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure WebSlope(); + IfcPlaneAngleMeasure WebSlope() const; void setWebSlope(IfcPlaneAngleMeasure v); /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef - bool hasFlangeSlope(); + bool hasFlangeSlope() const; /// Slope of web of the profile. - IfcPlaneAngleMeasure FlangeSlope(); + IfcPlaneAngleMeasure FlangeSlope() const; void setFlangeSlope(IfcPlaneAngleMeasure v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcTShapeProfileDef - bool hasCentreOfGravityInY(); - IfcPositiveLengthMeasure CentreOfGravityInY(); + bool hasCentreOfGravityInY() const; + IfcPositiveLengthMeasure CentreOfGravityInY() const; void setCentreOfGravityInY(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "FlangeEdgeRadius"; case 9: return "WebEdgeRadius"; case 10: return "WebSlope"; case 11: return "FlangeSlope"; case 12: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTShapeProfileDef (IfcAbstractEntityPtr e); + IfcTShapeProfileDef (IfcAbstractEntity* e); IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPositiveLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v13_CentreOfGravityInY); - typedef IfcTShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcTShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; class IfcTerminatorSymbol : public IfcAnnotationSymbolOccurrence { public: - IfcAnnotationCurveOccurrence* AnnotatedCurve(); + IfcAnnotationCurveOccurrence* AnnotatedCurve() const; void setAnnotatedCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "AnnotatedCurve"; } return IfcAnnotationSymbolOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTerminatorSymbol (IfcAbstractEntityPtr e); - IfcTerminatorSymbol (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve); - typedef IfcTerminatorSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTerminatorSymbol > > list; - typedef IfcTemplatedEntityList< IfcTerminatorSymbol >::it it; + IfcTerminatorSymbol (IfcAbstractEntity* e); + IfcTerminatorSymbol (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > 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. /// @@ -16773,27 +16235,25 @@ public: class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. - IfcPresentableText Literal(); + IfcPresentableText Literal() const; void setLiteral(IfcPresentableText 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(); + IfcAxis2Placement Placement() const; void setPlacement(IfcAxis2Placement v); /// The writing direction of the text literal. - IfcTextPath::IfcTextPath Path(); + IfcTextPath::IfcTextPath Path() const; void setPath(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Literal"; case 1: return "Placement"; case 2: return "Path"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextLiteral (IfcAbstractEntityPtr e); + IfcTextLiteral (IfcAbstractEntity* e); IfcTextLiteral (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path); - typedef IfcTextLiteral* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextLiteral > > list; - typedef IfcTemplatedEntityList< IfcTextLiteral >::it it; + typedef IfcTemplatedEntityList< IfcTextLiteral > list; }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -16807,23 +16267,21 @@ public: class IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. - IfcPlanarExtent* Extent(); + IfcPlanarExtent* Extent() const; void setExtent(IfcPlanarExtent* v); /// The alignment of the text literal relative to its position. - IfcBoxAlignment BoxAlignment(); + IfcBoxAlignment BoxAlignment() const; void setBoxAlignment(IfcBoxAlignment v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcTextLiteral::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Extent"; case 4: return "BoxAlignment"; } return IfcTextLiteral::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextLiteralWithExtent (IfcAbstractEntityPtr e); + IfcTextLiteralWithExtent (IfcAbstractEntity* e); IfcTextLiteralWithExtent (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment); - typedef IfcTextLiteralWithExtent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextLiteralWithExtent > > list; - typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent >::it it; + typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent > list; }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -16866,29 +16324,27 @@ public: class IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. - IfcPositiveLengthMeasure BottomXDim(); + IfcPositiveLengthMeasure BottomXDim() const; void setBottomXDim(IfcPositiveLengthMeasure v); /// The extent of the top line measured along the implicit x-axis. - IfcPositiveLengthMeasure TopXDim(); + IfcPositiveLengthMeasure TopXDim() const; void setTopXDim(IfcPositiveLengthMeasure v); /// The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis. - IfcPositiveLengthMeasure YDim(); + IfcPositiveLengthMeasure YDim() const; void setYDim(IfcPositiveLengthMeasure v); /// Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis. - IfcLengthMeasure TopXOffset(); + IfcLengthMeasure TopXOffset() const; void setTopXOffset(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "BottomXDim"; case 4: return "TopXDim"; case 5: return "YDim"; case 6: return "TopXOffset"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTrapeziumProfileDef (IfcAbstractEntityPtr e); + IfcTrapeziumProfileDef (IfcAbstractEntity* e); IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset); - typedef IfcTrapeziumProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTrapeziumProfileDef > > list; - typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef > list; }; /// Definition from ISO/CD 10303-46:1992: A two direction repeat factor combines two vectors which are used in the fill area style tiles entity for determining the shape and relative location of tiles. Given the initial position of any tile, the two direction repeat factor determines eight new positions according to the equation: /// @@ -16901,20 +16357,18 @@ public: class IfcTwoDirectionRepeatFactor : public IfcOneDirectionRepeatFactor { public: /// A vector which specifies the relative positioning of tiles in the second direction. - IfcVector* SecondRepeatFactor(); + IfcVector* SecondRepeatFactor() const; void setSecondRepeatFactor(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SecondRepeatFactor"; } return IfcOneDirectionRepeatFactor::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTwoDirectionRepeatFactor (IfcAbstractEntityPtr e); + IfcTwoDirectionRepeatFactor (IfcAbstractEntity* e); IfcTwoDirectionRepeatFactor (IfcVector* v1_RepeatFactor, IfcVector* v2_SecondRepeatFactor); - typedef IfcTwoDirectionRepeatFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTwoDirectionRepeatFactor > > list; - typedef IfcTemplatedEntityList< IfcTwoDirectionRepeatFactor >::it it; + typedef IfcTemplatedEntityList< IfcTwoDirectionRepeatFactor > list; }; /// The object type defines the /// specific information about a type, being common to all @@ -16950,7 +16404,7 @@ public: class IfcTypeObject : public IfcObjectDefinition { public: /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject - bool hasApplicableOccurrence(); + 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 @@ -16958,28 +16412,26 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - IfcLabel ApplicableOccurrence(); + IfcLabel ApplicableOccurrence() const; void setApplicableOccurrence(IfcLabel v); /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject - bool hasHasPropertySets(); + bool hasHasPropertySets() const; /// Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type. /// /// IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET. - SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > HasPropertySets(); - void setHasPropertySets(SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v); + IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr HasPropertySets() const; + void setHasPropertySets(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ApplicableOccurrence"; case 5: return "HasPropertySets"; } return IfcObjectDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > ObjectTypeOf(); // INVERSE IfcRelDefinesByType::RelatingType + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefinesByType >::ptr ObjectTypeOf() const; // INVERSE IfcRelDefinesByType::RelatingType bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTypeObject (IfcAbstractEntityPtr e); - IfcTypeObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets); - typedef IfcTypeObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeObject > > list; - typedef IfcTemplatedEntityList< IfcTypeObject >::it it; + IfcTypeObject (IfcAbstractEntity* e); + IfcTypeObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); + typedef IfcTemplatedEntityList< IfcTypeObject > list; }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -17050,27 +16502,25 @@ public: class IfcTypeProduct : public IfcTypeObject { public: /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct - bool hasRepresentationMaps(); + 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. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > RepresentationMaps(); - void setRepresentationMaps(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > v); + IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMaps() const; + void setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v); /// Whether the optional attribute Tag is defined for this IfcTypeProduct - bool hasTag(); + bool hasTag() const; /// The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level. - IfcLabel Tag(); + IfcLabel Tag() const; void setTag(IfcLabel v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RepresentationMaps"; case 7: return "Tag"; } return IfcTypeObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTypeProduct (IfcAbstractEntityPtr e); - IfcTypeProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag); - typedef IfcTypeProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeProduct > > list; - typedef IfcTemplatedEntityList< IfcTypeProduct >::it it; + IfcTypeProduct (IfcAbstractEntity* e); + IfcTypeProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag); + typedef IfcTemplatedEntityList< IfcTypeProduct > list; }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -17103,48 +16553,46 @@ public: class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth(); + IfcPositiveLengthMeasure FlangeWidth() const; void setFlangeWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius(); + IfcPositiveLengthMeasure FilletRadius() const; void setFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef - bool hasEdgeRadius(); + bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure EdgeRadius(); + IfcPositiveLengthMeasure EdgeRadius() const; void setEdgeRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef - bool hasFlangeSlope(); + bool hasFlangeSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure FlangeSlope(); + IfcPlaneAngleMeasure FlangeSlope() const; void setFlangeSlope(IfcPlaneAngleMeasure v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcUShapeProfileDef - bool hasCentreOfGravityInX(); - IfcPositiveLengthMeasure CentreOfGravityInX(); + bool hasCentreOfGravityInX() const; + IfcPositiveLengthMeasure CentreOfGravityInX() const; void setCentreOfGravityInX(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; case 9: return "FlangeSlope"; case 10: return "CentreOfGravityInX"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUShapeProfileDef (IfcAbstractEntityPtr e); + IfcUShapeProfileDef (IfcAbstractEntity* e); IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInX); - typedef IfcUShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcUShapeProfileDef >::it it; + 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. /// @@ -17156,23 +16604,21 @@ public: class IfcVector : public IfcGeometricRepresentationItem { public: /// The direction of the vector. - IfcDirection* Orientation(); + IfcDirection* Orientation() const; void setOrientation(IfcDirection* v); /// The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute. - IfcLengthMeasure Magnitude(); + IfcLengthMeasure Magnitude() const; void setMagnitude(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Orientation"; case 1: return "Magnitude"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVector (IfcAbstractEntityPtr e); + IfcVector (IfcAbstractEntity* e); IfcVector (IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude); - typedef IfcVector* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVector > > list; - typedef IfcTemplatedEntityList< IfcVector >::it it; + typedef IfcTemplatedEntityList< IfcVector > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -17189,20 +16635,18 @@ public: class IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. - IfcVertex* LoopVertex(); + IfcVertex* LoopVertex() const; void setLoopVertex(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LoopVertex"; } return IfcLoop::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertexLoop (IfcAbstractEntityPtr e); + IfcVertexLoop (IfcAbstractEntity* e); IfcVertexLoop (IfcVertex* v1_LoopVertex); - typedef IfcVertexLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexLoop > > list; - typedef IfcTemplatedEntityList< IfcVertexLoop >::it it; + typedef IfcTemplatedEntityList< IfcVertexLoop > list; }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -17305,64 +16749,62 @@ public: class IfcWindowLiningProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties - bool hasLiningDepth(); + bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - IfcPositiveLengthMeasure LiningDepth(); + IfcPositiveLengthMeasure LiningDepth() const; void setLiningDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties - bool hasLiningThickness(); + bool hasLiningThickness() const; /// Thickness of the window lining (measured parallel to the window elevation plane). - IfcPositiveLengthMeasure LiningThickness(); + IfcPositiveLengthMeasure LiningThickness() const; void setLiningThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties - bool hasTransomThickness(); + bool hasTransomThickness() const; /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - IfcPositiveLengthMeasure TransomThickness(); + IfcPositiveLengthMeasure TransomThickness() const; void setTransomThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties - bool hasMullionThickness(); + bool hasMullionThickness() const; /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - IfcPositiveLengthMeasure MullionThickness(); + IfcPositiveLengthMeasure MullionThickness() const; void setMullionThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties - bool hasFirstTransomOffset(); + bool hasFirstTransomOffset() const; /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstTransomOffset(); + IfcNormalisedRatioMeasure FirstTransomOffset() const; void setFirstTransomOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties - bool hasSecondTransomOffset(); + bool hasSecondTransomOffset() const; /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondTransomOffset(); + IfcNormalisedRatioMeasure SecondTransomOffset() const; void setSecondTransomOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties - bool hasFirstMullionOffset(); + bool hasFirstMullionOffset() const; /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstMullionOffset(); + IfcNormalisedRatioMeasure FirstMullionOffset() const; void setFirstMullionOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties - bool hasSecondMullionOffset(); + bool hasSecondMullionOffset() const; /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondMullionOffset(); + IfcNormalisedRatioMeasure SecondMullionOffset() const; void setSecondMullionOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LiningDepth"; case 5: return "LiningThickness"; case 6: return "TransomThickness"; case 7: return "MullionThickness"; case 8: return "FirstTransomOffset"; case 9: return "SecondTransomOffset"; case 10: return "FirstMullionOffset"; case 11: return "SecondMullionOffset"; case 12: return "ShapeAspectStyle"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowLiningProperties (IfcAbstractEntityPtr e); + IfcWindowLiningProperties (IfcAbstractEntity* e); IfcWindowLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_TransomThickness, boost::optional< IfcPositiveLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle); - typedef IfcWindowLiningProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowLiningProperties > > list; - typedef IfcTemplatedEntityList< IfcWindowLiningProperties >::it it; + typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -17412,40 +16854,38 @@ public: 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(); + IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum OperationType() const; void setOperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v); /// Position of this panel within the overall window style. - IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition(); + IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties - bool hasFrameDepth(); + bool hasFrameDepth() const; /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - IfcPositiveLengthMeasure FrameDepth(); + IfcPositiveLengthMeasure FrameDepth() const; void setFrameDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties - bool hasFrameThickness(); + bool hasFrameThickness() const; /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - IfcPositiveLengthMeasure FrameThickness(); + IfcPositiveLengthMeasure FrameThickness() const; void setFrameThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "OperationType"; case 5: return "PanelPosition"; case 6: return "FrameDepth"; case 7: return "FrameThickness"; case 8: return "ShapeAspectStyle"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowPanelProperties (IfcAbstractEntityPtr e); + IfcWindowPanelProperties (IfcAbstractEntity* e); IfcWindowPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcWindowPanelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowPanelProperties > > list; - typedef IfcTemplatedEntityList< IfcWindowPanelProperties >::it it; + 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. /// @@ -17468,29 +16908,27 @@ public: class IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. - IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType(); + IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType() const; void setConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v); /// Type defining the general layout and operation of the window style. - IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum OperationType(); + IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum OperationType() const; void setOperationType(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(); + bool ParameterTakesPrecedence() const; void setParameterTakesPrecedence(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(); + bool Sizeable() const; void setSizeable(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ConstructionType"; case 9: return "OperationType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowStyle (IfcAbstractEntityPtr e); - IfcWindowStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); - typedef IfcWindowStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowStyle > > list; - typedef IfcTemplatedEntityList< IfcWindowStyle >::it it; + IfcWindowStyle (IfcAbstractEntity* e); + IfcWindowStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + typedef IfcTemplatedEntityList< IfcWindowStyle > list; }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -17520,39 +16958,37 @@ public: class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Flange length, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth(); + IfcPositiveLengthMeasure FlangeWidth() const; void setFlangeWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of web, see illustration above (= ts). - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Constant wall thickness of flange, see illustration above (= tg). - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius(); + IfcPositiveLengthMeasure FilletRadius() const; void setFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef - bool hasEdgeRadius(); + bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure EdgeRadius(); + IfcPositiveLengthMeasure EdgeRadius() const; void setEdgeRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcZShapeProfileDef (IfcAbstractEntityPtr e); + IfcZShapeProfileDef (IfcAbstractEntity* e); IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius); - typedef IfcZShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcZShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcZShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcZShapeProfileDef > list; }; class IfcAnnotationCurveOccurrence : public IfcAnnotationOccurrence { @@ -17560,15 +16996,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationCurveOccurrence (IfcAbstractEntityPtr e); - IfcAnnotationCurveOccurrence (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcAnnotationCurveOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationCurveOccurrence > > list; - typedef IfcTemplatedEntityList< IfcAnnotationCurveOccurrence >::it it; + IfcAnnotationCurveOccurrence (IfcAbstractEntity* e); + IfcAnnotationCurveOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > 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. /// @@ -17595,73 +17029,67 @@ public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - IfcCurve* OuterBoundary(); + IfcCurve* OuterBoundary() const; void setOuterBoundary(IfcCurve* v); /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea - bool hasInnerBoundaries(); + bool hasInnerBoundaries() const; /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerBoundaries(); - void setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v); + IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; + void setInnerBoundaries(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OuterBoundary"; case 1: return "InnerBoundaries"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationFillArea (IfcAbstractEntityPtr e); - IfcAnnotationFillArea (IfcCurve* v1_OuterBoundary, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > > v2_InnerBoundaries); - typedef IfcAnnotationFillArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationFillArea > > list; - typedef IfcTemplatedEntityList< IfcAnnotationFillArea >::it it; + IfcAnnotationFillArea (IfcAbstractEntity* e); + IfcAnnotationFillArea (IfcCurve* v1_OuterBoundary, boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v2_InnerBoundaries); + typedef IfcTemplatedEntityList< IfcAnnotationFillArea > list; }; class IfcAnnotationFillAreaOccurrence : public IfcAnnotationOccurrence { public: /// Whether the optional attribute FillStyleTarget is defined for this IfcAnnotationFillAreaOccurrence - bool hasFillStyleTarget(); - IfcPoint* FillStyleTarget(); + bool hasFillStyleTarget() const; + IfcPoint* FillStyleTarget() const; void setFillStyleTarget(IfcPoint* v); /// Whether the optional attribute GlobalOrLocal is defined for this IfcAnnotationFillAreaOccurrence - bool hasGlobalOrLocal(); - IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal(); + bool hasGlobalOrLocal() const; + IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal() const; void setGlobalOrLocal(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "FillStyleTarget"; case 4: return "GlobalOrLocal"; } return IfcAnnotationOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationFillAreaOccurrence (IfcAbstractEntityPtr e); - IfcAnnotationFillAreaOccurrence (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal); - typedef IfcAnnotationFillAreaOccurrence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence > > list; - typedef IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence >::it it; + IfcAnnotationFillAreaOccurrence (IfcAbstractEntity* e); + IfcAnnotationFillAreaOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal); + typedef IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence > list; }; class IfcAnnotationSurface : public IfcGeometricRepresentationItem { public: - IfcGeometricRepresentationItem* Item(); + IfcGeometricRepresentationItem* Item() const; void setItem(IfcGeometricRepresentationItem* v); /// Whether the optional attribute TextureCoordinates is defined for this IfcAnnotationSurface - bool hasTextureCoordinates(); - IfcTextureCoordinate* TextureCoordinates(); + bool hasTextureCoordinates() const; + IfcTextureCoordinate* TextureCoordinates() const; void setTextureCoordinates(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Item"; case 1: return "TextureCoordinates"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationSurface (IfcAbstractEntityPtr e); + IfcAnnotationSurface (IfcAbstractEntity* e); IfcAnnotationSurface (IfcGeometricRepresentationItem* v1_Item, IfcTextureCoordinate* v2_TextureCoordinates); - typedef IfcAnnotationSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationSurface > > list; - typedef IfcTemplatedEntityList< IfcAnnotationSurface >::it it; + 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). /// @@ -17675,22 +17103,20 @@ public: class IfcAxis1Placement : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis1Placement - bool hasAxis(); + bool hasAxis() const; /// The direction of the local Z axis. - IfcDirection* Axis(); + IfcDirection* Axis() const; void setAxis(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Axis"; } return IfcPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAxis1Placement (IfcAbstractEntityPtr e); + IfcAxis1Placement (IfcAbstractEntity* e); IfcAxis1Placement (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis); - typedef IfcAxis1Placement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis1Placement > > list; - typedef IfcTemplatedEntityList< IfcAxis1Placement >::it it; + 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. /// @@ -17706,22 +17132,20 @@ public: class IfcAxis2Placement2D : public IfcPlacement { public: /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D - bool hasRefDirection(); + 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(); + IfcDirection* RefDirection() const; void setRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "RefDirection"; } return IfcPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAxis2Placement2D (IfcAbstractEntityPtr e); + IfcAxis2Placement2D (IfcAbstractEntity* e); IfcAxis2Placement2D (IfcCartesianPoint* v1_Location, IfcDirection* v2_RefDirection); - typedef IfcAxis2Placement2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement2D > > list; - typedef IfcTemplatedEntityList< IfcAxis2Placement2D >::it it; + 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. /// @@ -17739,27 +17163,25 @@ public: class IfcAxis2Placement3D : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D - bool hasAxis(); + bool hasAxis() const; /// The exact direction of the local Z Axis. - IfcDirection* Axis(); + IfcDirection* Axis() const; void setAxis(IfcDirection* v); /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D - bool hasRefDirection(); + bool hasRefDirection() const; /// 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(); + IfcDirection* RefDirection() const; void setRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Axis"; case 2: return "RefDirection"; } return IfcPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAxis2Placement3D (IfcAbstractEntityPtr e); + IfcAxis2Placement3D (IfcAbstractEntity* e); IfcAxis2Placement3D (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis, IfcDirection* v3_RefDirection); - typedef IfcAxis2Placement3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > list; - typedef IfcTemplatedEntityList< IfcAxis2Placement3D >::it it; + typedef IfcTemplatedEntityList< IfcAxis2Placement3D > list; }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -17790,26 +17212,24 @@ public: class IfcBooleanResult : public IfcGeometricRepresentationItem { public: /// The Boolean operator used in the operation to create the result. - IfcBooleanOperator::IfcBooleanOperator Operator(); + IfcBooleanOperator::IfcBooleanOperator Operator() const; void setOperator(IfcBooleanOperator::IfcBooleanOperator v); /// The first operand to be operated upon by the Boolean operation. - IfcBooleanOperand FirstOperand(); + IfcBooleanOperand FirstOperand() const; void setFirstOperand(IfcBooleanOperand v); /// The second operand specified for the operation. - IfcBooleanOperand SecondOperand(); + IfcBooleanOperand SecondOperand() const; void setSecondOperand(IfcBooleanOperand v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Operator"; case 1: return "FirstOperand"; case 2: return "SecondOperand"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBooleanResult (IfcAbstractEntityPtr e); + IfcBooleanResult (IfcAbstractEntity* e); IfcBooleanResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); - typedef IfcBooleanResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBooleanResult > > list; - typedef IfcTemplatedEntityList< IfcBooleanResult >::it it; + typedef IfcTemplatedEntityList< IfcBooleanResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -17828,15 +17248,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundedSurface (IfcAbstractEntityPtr e); + IfcBoundedSurface (IfcAbstractEntity* e); IfcBoundedSurface (); - typedef IfcBoundedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundedSurface > > list; - typedef IfcTemplatedEntityList< IfcBoundedSurface >::it it; + typedef IfcTemplatedEntityList< IfcBoundedSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -17863,29 +17281,27 @@ public: class IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). - IfcCartesianPoint* Corner(); + IfcCartesianPoint* Corner() const; void setCorner(IfcCartesianPoint* v); /// Length attribute (measured along the edge parallel to the X Axis) - IfcPositiveLengthMeasure XDim(); + IfcPositiveLengthMeasure XDim() const; void setXDim(IfcPositiveLengthMeasure v); /// Width attribute (measured along the edge parallel to the Y Axis) - IfcPositiveLengthMeasure YDim(); + IfcPositiveLengthMeasure YDim() const; void setYDim(IfcPositiveLengthMeasure v); /// Height attribute (measured along the edge parallel to the Z Axis). - IfcPositiveLengthMeasure ZDim(); + IfcPositiveLengthMeasure ZDim() const; void setZDim(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Corner"; case 1: return "XDim"; case 2: return "YDim"; case 3: return "ZDim"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundingBox (IfcAbstractEntityPtr e); + IfcBoundingBox (IfcAbstractEntity* e); IfcBoundingBox (IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim); - typedef IfcBoundingBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundingBox > > list; - typedef IfcTemplatedEntityList< IfcBoundingBox >::it it; + typedef IfcTemplatedEntityList< IfcBoundingBox > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -17920,20 +17336,18 @@ public: 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(); + IfcBoundingBox* Enclosure() const; void setEnclosure(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Enclosure"; } return IfcHalfSpaceSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoxedHalfSpace (IfcAbstractEntityPtr e); + IfcBoxedHalfSpace (IfcAbstractEntity* e); IfcBoxedHalfSpace (IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcBoundingBox* v3_Enclosure); - typedef IfcBoxedHalfSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoxedHalfSpace > > list; - typedef IfcTemplatedEntityList< IfcBoxedHalfSpace >::it it; + typedef IfcTemplatedEntityList< IfcBoxedHalfSpace > list; }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -17960,38 +17374,36 @@ public: class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Profile width, see illustration above (= b). - IfcPositiveLengthMeasure Width(); + IfcPositiveLengthMeasure Width() const; void setWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of profile (= ts). - IfcPositiveLengthMeasure WallThickness(); + IfcPositiveLengthMeasure WallThickness() const; void setWallThickness(IfcPositiveLengthMeasure v); /// Lengths of girth, see illustration above (= c). - IfcPositiveLengthMeasure Girth(); + IfcPositiveLengthMeasure Girth() const; void setGirth(IfcPositiveLengthMeasure v); /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef - bool hasInternalFilletRadius(); + bool hasInternalFilletRadius() const; /// Internal fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure InternalFilletRadius(); + IfcPositiveLengthMeasure InternalFilletRadius() const; void setInternalFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcCShapeProfileDef - bool hasCentreOfGravityInX(); - IfcPositiveLengthMeasure CentreOfGravityInX(); + bool hasCentreOfGravityInX() const; + IfcPositiveLengthMeasure CentreOfGravityInX() const; void setCentreOfGravityInX(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "WallThickness"; case 6: return "Girth"; case 7: return "InternalFilletRadius"; case 8: return "CentreOfGravityInX"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCShapeProfileDef (IfcAbstractEntityPtr e); + IfcCShapeProfileDef (IfcAbstractEntity* e); IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcPositiveLengthMeasure > v8_InternalFilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_CentreOfGravityInX); - typedef IfcCShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCShapeProfileDef >::it it; + 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. /// @@ -18003,20 +17415,18 @@ public: class IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. - std::vector< IfcLengthMeasure > /*[1:3]*/ Coordinates(); + std::vector< IfcLengthMeasure > /*[1:3]*/ Coordinates() const; void setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } return IfcPoint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianPoint (IfcAbstractEntityPtr e); + IfcCartesianPoint (IfcAbstractEntity* e); IfcCartesianPoint (std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates); - typedef IfcCartesianPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > list; - typedef IfcTemplatedEntityList< IfcCartesianPoint >::it it; + typedef IfcTemplatedEntityList< IfcCartesianPoint > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -18051,35 +17461,33 @@ public: class IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator - bool hasAxis1(); + bool hasAxis1() const; /// The direction used to determine U[1], the derived X axis direction. - IfcDirection* Axis1(); + IfcDirection* Axis1() const; void setAxis1(IfcDirection* v); /// Whether the optional attribute Axis2 is defined for this IfcCartesianTransformationOperator - bool hasAxis2(); + bool hasAxis2() const; /// The direction used to determine U[2], the derived Y axis direction. - IfcDirection* Axis2(); + IfcDirection* Axis2() const; void setAxis2(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(); + IfcCartesianPoint* LocalOrigin() const; void setLocalOrigin(IfcCartesianPoint* v); /// Whether the optional attribute Scale is defined for this IfcCartesianTransformationOperator - bool hasScale(); + bool hasScale() const; /// The scaling value specified for the transformation. - double Scale(); + double Scale() const; void setScale(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Axis1"; case 1: return "Axis2"; case 2: return "LocalOrigin"; case 3: return "Scale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator (IfcAbstractEntity* e); IfcCartesianTransformationOperator (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); - typedef IfcCartesianTransformationOperator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator >::it it; + 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. /// @@ -18091,15 +17499,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCartesianTransformationOperator::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCartesianTransformationOperator::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator2D (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator2D (IfcAbstractEntity* e); IfcCartesianTransformationOperator2D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); - typedef IfcCartesianTransformationOperator2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator2D > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2D >::it it; + 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: /// @@ -18114,22 +17520,20 @@ public: class IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform - bool hasScale2(); + bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2(); + double Scale2() const; void setScale2(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Scale2"; } return IfcCartesianTransformationOperator2D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntity* e); IfcCartesianTransformationOperator2DnonUniform (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2); - typedef IfcCartesianTransformationOperator2DnonUniform* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform >::it it; + 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. /// @@ -18139,22 +17543,20 @@ public: class IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D - bool hasAxis3(); + bool hasAxis3() const; /// The exact direction of U[3], the derived Z axis direction. - IfcDirection* Axis3(); + IfcDirection* Axis3() const; void setAxis3(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Axis3"; } return IfcCartesianTransformationOperator::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator3D (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator3D (IfcAbstractEntity* e); IfcCartesianTransformationOperator3D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3); - typedef IfcCartesianTransformationOperator3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator3D > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3D >::it it; + 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: /// @@ -18170,27 +17572,25 @@ public: class IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale2(); + bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2(); + double Scale2() const; void setScale2(double v); /// Whether the optional attribute Scale3 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale3(); + bool hasScale3() const; /// The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. - double Scale3(); + double Scale3() const; void setScale3(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Scale2"; case 6: return "Scale3"; } return IfcCartesianTransformationOperator3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator3DnonUniform (IfcAbstractEntityPtr e); + 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); - typedef IfcCartesianTransformationOperator3DnonUniform* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform >::it it; + 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. /// @@ -18207,20 +17607,18 @@ public: class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Radius"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCircleProfileDef (IfcAbstractEntityPtr e); + IfcCircleProfileDef (IfcAbstractEntity* e); IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius); - typedef IfcCircleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircleProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCircleProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCircleProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -18276,15 +17674,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConnectedFaceSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClosedShell (IfcAbstractEntityPtr e); - IfcClosedShell (SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces); - typedef IfcClosedShell* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > list; - typedef IfcTemplatedEntityList< IfcClosedShell >::it it; + IfcClosedShell (IfcAbstractEntity* e); + IfcClosedShell (IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces); + typedef IfcTemplatedEntityList< IfcClosedShell > list; }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -18296,111 +17692,105 @@ public: 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(); + IfcTransitionCode::IfcTransitionCode Transition() const; void setTransition(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(); + bool SameSense() const; void setSameSense(bool v); /// The bounded curve which defines the geometry of the segment. - IfcCurve* ParentCurve(); + IfcCurve* ParentCurve() const; void setParentCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Transition"; case 1: return "SameSense"; case 2: return "ParentCurve"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurve > > UsingCurves(); // INVERSE IfcCompositeCurve::Segments + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcCompositeCurve >::ptr UsingCurves() const; // INVERSE IfcCompositeCurve::Segments bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeCurveSegment (IfcAbstractEntityPtr e); + IfcCompositeCurveSegment (IfcAbstractEntity* e); IfcCompositeCurveSegment (IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve); - typedef IfcCompositeCurveSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > list; - typedef IfcTemplatedEntityList< IfcCompositeCurveSegment >::it it; + typedef IfcTemplatedEntityList< IfcCompositeCurveSegment > list; }; class IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcPositiveLengthMeasure OverallHeight(); + IfcPositiveLengthMeasure OverallHeight() const; void setOverallHeight(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseWidth2(); + IfcPositiveLengthMeasure BaseWidth2() const; void setBaseWidth2(IfcPositiveLengthMeasure v); /// Whether the optional attribute Radius is defined for this IfcCraneRailAShapeProfileDef - bool hasRadius(); - IfcPositiveLengthMeasure Radius(); + bool hasRadius() const; + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadWidth(); + IfcPositiveLengthMeasure HeadWidth() const; void setHeadWidth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth2(); + IfcPositiveLengthMeasure HeadDepth2() const; void setHeadDepth2(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth3(); + IfcPositiveLengthMeasure HeadDepth3() const; void setHeadDepth3(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseWidth4(); + IfcPositiveLengthMeasure BaseWidth4() const; void setBaseWidth4(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth1(); + IfcPositiveLengthMeasure BaseDepth1() const; void setBaseDepth1(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth2(); + IfcPositiveLengthMeasure BaseDepth2() const; void setBaseDepth2(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth3(); + IfcPositiveLengthMeasure BaseDepth3() const; void setBaseDepth3(IfcPositiveLengthMeasure v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailAShapeProfileDef - bool hasCentreOfGravityInY(); - IfcPositiveLengthMeasure CentreOfGravityInY(); + bool hasCentreOfGravityInY() const; + IfcPositiveLengthMeasure CentreOfGravityInY() const; void setCentreOfGravityInY(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallHeight"; case 4: return "BaseWidth2"; case 5: return "Radius"; case 6: return "HeadWidth"; case 7: return "HeadDepth2"; case 8: return "HeadDepth3"; case 9: return "WebThickness"; case 10: return "BaseWidth4"; case 11: return "BaseDepth1"; case 12: return "BaseDepth2"; case 13: return "BaseDepth3"; case 14: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCraneRailAShapeProfileDef (IfcAbstractEntityPtr e); + IfcCraneRailAShapeProfileDef (IfcAbstractEntity* e); IfcCraneRailAShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_BaseWidth2, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadWidth, IfcPositiveLengthMeasure v8_HeadDepth2, IfcPositiveLengthMeasure v9_HeadDepth3, IfcPositiveLengthMeasure v10_WebThickness, IfcPositiveLengthMeasure v11_BaseWidth4, IfcPositiveLengthMeasure v12_BaseDepth1, IfcPositiveLengthMeasure v13_BaseDepth2, IfcPositiveLengthMeasure v14_BaseDepth3, boost::optional< IfcPositiveLengthMeasure > v15_CentreOfGravityInY); - typedef IfcCraneRailAShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef > list; }; class IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcPositiveLengthMeasure OverallHeight(); + IfcPositiveLengthMeasure OverallHeight() const; void setOverallHeight(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadWidth(); + IfcPositiveLengthMeasure HeadWidth() const; void setHeadWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute Radius is defined for this IfcCraneRailFShapeProfileDef - bool hasRadius(); - IfcPositiveLengthMeasure Radius(); + bool hasRadius() const; + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth2(); + IfcPositiveLengthMeasure HeadDepth2() const; void setHeadDepth2(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth3(); + IfcPositiveLengthMeasure HeadDepth3() const; void setHeadDepth3(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth1(); + IfcPositiveLengthMeasure BaseDepth1() const; void setBaseDepth1(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth2(); + IfcPositiveLengthMeasure BaseDepth2() const; void setBaseDepth2(IfcPositiveLengthMeasure v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailFShapeProfileDef - bool hasCentreOfGravityInY(); - IfcPositiveLengthMeasure CentreOfGravityInY(); + bool hasCentreOfGravityInY() const; + IfcPositiveLengthMeasure CentreOfGravityInY() const; void setCentreOfGravityInY(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallHeight"; case 4: return "HeadWidth"; case 5: return "Radius"; case 6: return "HeadDepth2"; case 7: return "HeadDepth3"; case 8: return "WebThickness"; case 9: return "BaseDepth1"; case 10: return "BaseDepth2"; case 11: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCraneRailFShapeProfileDef (IfcAbstractEntityPtr e); + IfcCraneRailFShapeProfileDef (IfcAbstractEntity* e); IfcCraneRailFShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_HeadWidth, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadDepth2, IfcPositiveLengthMeasure v8_HeadDepth3, IfcPositiveLengthMeasure v9_WebThickness, IfcPositiveLengthMeasure v10_BaseDepth1, IfcPositiveLengthMeasure v11_BaseDepth2, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY); - typedef IfcCraneRailFShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCraneRailFShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCraneRailFShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCraneRailFShapeProfileDef > list; }; /// IfcCsgPrimitive3D is an abstract supertype of all three dimensional primitives used as either tree root item, or as Boolean results within a CSG solid model. All 3D CSG primitives are defined within a three-dimensional placement coordinate system. /// @@ -18410,20 +17800,18 @@ public: class IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCsgPrimitive3D (IfcAbstractEntityPtr e); + IfcCsgPrimitive3D (IfcAbstractEntity* e); IfcCsgPrimitive3D (IfcAxis2Placement3D* v1_Position); - typedef IfcCsgPrimitive3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCsgPrimitive3D > > list; - typedef IfcTemplatedEntityList< IfcCsgPrimitive3D >::it it; + typedef IfcTemplatedEntityList< IfcCsgPrimitive3D > list; }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -18469,20 +17857,18 @@ public: class IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). - IfcCsgSelect TreeRootExpression(); + IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(IfcCsgSelect v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TreeRootExpression"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCsgSolid (IfcAbstractEntityPtr e); + IfcCsgSolid (IfcAbstractEntity* e); IfcCsgSolid (IfcCsgSelect v1_TreeRootExpression); - typedef IfcCsgSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCsgSolid > > list; - typedef IfcTemplatedEntityList< IfcCsgSolid >::it it; + typedef IfcTemplatedEntityList< IfcCsgSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -18499,15 +17885,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurve (IfcAbstractEntityPtr e); + IfcCurve (IfcAbstractEntity* e); IfcCurve (); - typedef IfcCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > list; - typedef IfcTemplatedEntityList< IfcCurve >::it it; + typedef IfcTemplatedEntityList< IfcCurve > list; }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -18525,26 +17909,24 @@ public: class IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. - IfcPlane* BasisSurface(); + IfcPlane* BasisSurface() const; void setBasisSurface(IfcPlane* v); /// The outer boundary of the surface. - IfcCurve* OuterBoundary(); + IfcCurve* OuterBoundary() const; void setOuterBoundary(IfcCurve* v); /// An optional set of inner boundaries. They shall not intersect each other or the outer boundary. - SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerBoundaries(); - void setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v); + IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; + void setInnerBoundaries(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "OuterBoundary"; case 2: return "InnerBoundaries"; } return IfcBoundedSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveBoundedPlane (IfcAbstractEntityPtr e); - IfcCurveBoundedPlane (IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v3_InnerBoundaries); - typedef IfcCurveBoundedPlane* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveBoundedPlane > > list; - typedef IfcTemplatedEntityList< IfcCurveBoundedPlane >::it it; + IfcCurveBoundedPlane (IfcAbstractEntity* e); + IfcCurveBoundedPlane (IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, IfcTemplatedEntityList< IfcCurve >::ptr v3_InnerBoundaries); + typedef IfcTemplatedEntityList< IfcCurveBoundedPlane > list; }; /// A defined symbol is a symbolic representation that gets its shape information by an established convention, either through a predefined symbol, or an externally defined symbol. /// @@ -18556,23 +17938,21 @@ public: class IfcDefinedSymbol : public IfcGeometricRepresentationItem { public: /// An implicit description of the symbol, either predefined or externally defined. - IfcDefinedSymbolSelect Definition(); + IfcDefinedSymbolSelect Definition() const; void setDefinition(IfcDefinedSymbolSelect v); /// A description of the placement, orientation and (uniform or non-uniform) scaling of the defined symbol. - IfcCartesianTransformationOperator2D* Target(); + IfcCartesianTransformationOperator2D* Target() const; void setTarget(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Definition"; case 1: return "Target"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDefinedSymbol (IfcAbstractEntityPtr e); + IfcDefinedSymbol (IfcAbstractEntity* e); IfcDefinedSymbol (IfcDefinedSymbolSelect v1_Definition, IfcCartesianTransformationOperator2D* v2_Target); - typedef IfcDefinedSymbol* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDefinedSymbol > > list; - typedef IfcTemplatedEntityList< IfcDefinedSymbol >::it it; + typedef IfcTemplatedEntityList< IfcDefinedSymbol > list; }; class IfcDimensionCurve : public IfcAnnotationCurveOccurrence { @@ -18580,34 +17960,30 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTerminatorSymbol > > AnnotatedBySymbols(); // INVERSE IfcTerminatorSymbol::AnnotatedCurve + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTerminatorSymbol >::ptr AnnotatedBySymbols() const; // INVERSE IfcTerminatorSymbol::AnnotatedCurve bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionCurve (IfcAbstractEntityPtr e); - IfcDimensionCurve (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcDimensionCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCurve > > list; - typedef IfcTemplatedEntityList< IfcDimensionCurve >::it it; + IfcDimensionCurve (IfcAbstractEntity* e); + IfcDimensionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + typedef IfcTemplatedEntityList< IfcDimensionCurve > list; }; class IfcDimensionCurveTerminator : public IfcTerminatorSymbol { public: - IfcDimensionExtentUsage::IfcDimensionExtentUsage Role(); + IfcDimensionExtentUsage::IfcDimensionExtentUsage Role() const; void setRole(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Role"; } return IfcTerminatorSymbol::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionCurveTerminator (IfcAbstractEntityPtr e); - IfcDimensionCurveTerminator (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role); - typedef IfcDimensionCurveTerminator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCurveTerminator > > list; - typedef IfcTemplatedEntityList< IfcDimensionCurveTerminator >::it it; + IfcDimensionCurveTerminator (IfcAbstractEntity* e); + IfcDimensionCurveTerminator (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > 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. /// @@ -18619,20 +17995,18 @@ public: class IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) - std::vector< double > /*[2:3]*/ DirectionRatios(); + std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DirectionRatios"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDirection (IfcAbstractEntityPtr e); + IfcDirection (IfcAbstractEntity* e); IfcDirection (std::vector< double > /*[2:3]*/ v1_DirectionRatios); - typedef IfcDirection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDirection > > list; - typedef IfcTemplatedEntityList< IfcDirection >::it it; + typedef IfcTemplatedEntityList< IfcDirection > list; }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -18732,74 +18106,72 @@ public: class IfcDoorLiningProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties - bool hasLiningDepth(); + bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure LiningDepth(); + IfcPositiveLengthMeasure LiningDepth() const; void setLiningDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties - bool hasLiningThickness(); + bool hasLiningThickness() const; /// Thickness (width in plane parallel to door leaf) of the door lining. - IfcPositiveLengthMeasure LiningThickness(); + IfcPositiveLengthMeasure LiningThickness() const; void setLiningThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties - bool hasThresholdDepth(); + bool hasThresholdDepth() const; /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure ThresholdDepth(); + IfcPositiveLengthMeasure ThresholdDepth() const; void setThresholdDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties - bool hasThresholdThickness(); + bool hasThresholdThickness() const; /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - IfcPositiveLengthMeasure ThresholdThickness(); + IfcPositiveLengthMeasure ThresholdThickness() const; void setThresholdThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties - bool hasTransomThickness(); + bool hasTransomThickness() const; /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - IfcPositiveLengthMeasure TransomThickness(); + IfcPositiveLengthMeasure TransomThickness() const; void setTransomThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties - bool hasTransomOffset(); + bool hasTransomOffset() const; /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - IfcLengthMeasure TransomOffset(); + IfcLengthMeasure TransomOffset() const; void setTransomOffset(IfcLengthMeasure v); /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties - bool hasLiningOffset(); + bool hasLiningOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - IfcLengthMeasure LiningOffset(); + IfcLengthMeasure LiningOffset() const; void setLiningOffset(IfcLengthMeasure v); /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties - bool hasThresholdOffset(); + bool hasThresholdOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - IfcLengthMeasure ThresholdOffset(); + IfcLengthMeasure ThresholdOffset() const; void setThresholdOffset(IfcLengthMeasure v); /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties - bool hasCasingThickness(); + bool hasCasingThickness() const; /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingThickness(); + IfcPositiveLengthMeasure CasingThickness() const; void setCasingThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties - bool hasCasingDepth(); + bool hasCasingDepth() const; /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingDepth(); + IfcPositiveLengthMeasure CasingDepth() const; void setCasingDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LiningDepth"; case 5: return "LiningThickness"; case 6: return "ThresholdDepth"; case 7: return "ThresholdThickness"; case 8: return "TransomThickness"; case 9: return "TransomOffset"; case 10: return "LiningOffset"; case 11: return "ThresholdOffset"; case 12: return "CasingThickness"; case 13: return "CasingDepth"; case 14: return "ShapeAspectStyle"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorLiningProperties (IfcAbstractEntityPtr e); + IfcDoorLiningProperties (IfcAbstractEntity* e); IfcDoorLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcPositiveLengthMeasure > v8_ThresholdThickness, boost::optional< IfcPositiveLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle); - typedef IfcDoorLiningProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorLiningProperties > > list; - typedef IfcTemplatedEntityList< IfcDoorLiningProperties >::it it; + typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -18849,40 +18221,38 @@ public: class IfcDoorPanelProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties - bool hasPanelDepth(); + bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - IfcPositiveLengthMeasure PanelDepth(); + IfcPositiveLengthMeasure PanelDepth() const; void setPanelDepth(IfcPositiveLengthMeasure 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(); + IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum PanelOperation() const; void setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties - bool hasPanelWidth(); + bool hasPanelWidth() const; /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - IfcNormalisedRatioMeasure PanelWidth(); + IfcNormalisedRatioMeasure PanelWidth() const; void setPanelWidth(IfcNormalisedRatioMeasure 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(); + IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorPanelProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// 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(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "PanelDepth"; case 5: return "PanelOperation"; case 6: return "PanelWidth"; case 7: return "PanelPosition"; case 8: return "ShapeAspectStyle"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorPanelProperties (IfcAbstractEntityPtr e); + IfcDoorPanelProperties (IfcAbstractEntity* e); IfcDoorPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcDoorPanelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorPanelProperties > > list; - typedef IfcTemplatedEntityList< IfcDoorPanelProperties >::it it; + 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. /// @@ -18913,49 +18283,45 @@ public: class IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. - IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType(); + IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType() const; void setOperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v); /// Type defining the basic construction and material type of the door. - IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum ConstructionType(); + IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum ConstructionType() const; void setConstructionType(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(); + bool ParameterTakesPrecedence() const; void setParameterTakesPrecedence(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(); + bool Sizeable() const; void setSizeable(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OperationType"; case 9: return "ConstructionType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorStyle (IfcAbstractEntityPtr e); - IfcDoorStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); - typedef IfcDoorStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorStyle > > list; - typedef IfcTemplatedEntityList< IfcDoorStyle >::it it; + IfcDoorStyle (IfcAbstractEntity* e); + IfcDoorStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + typedef IfcTemplatedEntityList< IfcDoorStyle > list; }; class IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Contents(); - void setContents(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Contents() const; + void setContents(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Contents"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > > IsRelatedFromCallout(); // INVERSE IfcDraughtingCalloutRelationship::RelatedDraughtingCallout - SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > > IsRelatedToCallout(); // INVERSE IfcDraughtingCalloutRelationship::RelatingDraughtingCallout + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcDraughtingCalloutRelationship >::ptr IsRelatedFromCallout() const; // INVERSE IfcDraughtingCalloutRelationship::RelatedDraughtingCallout + IfcTemplatedEntityList< IfcDraughtingCalloutRelationship >::ptr IsRelatedToCallout() const; // INVERSE IfcDraughtingCalloutRelationship::RelatingDraughtingCallout bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingCallout (IfcAbstractEntityPtr e); - IfcDraughtingCallout (IfcEntities v1_Contents); - typedef IfcDraughtingCallout* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingCallout > > list; - typedef IfcTemplatedEntityList< IfcDraughtingCallout >::it it; + IfcDraughtingCallout (IfcAbstractEntity* e); + IfcDraughtingCallout (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcDraughtingCallout > list; }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: /// @@ -19034,15 +18400,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedColour::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedColour::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingPreDefinedColour (IfcAbstractEntityPtr e); + IfcDraughtingPreDefinedColour (IfcAbstractEntity* e); IfcDraughtingPreDefinedColour (IfcLabel v1_Name); - typedef IfcDraughtingPreDefinedColour* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > > list; - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour >::it it; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > list; }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -19062,15 +18426,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedCurveFont::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedCurveFont::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingPreDefinedCurveFont (IfcAbstractEntityPtr e); + IfcDraughtingPreDefinedCurveFont (IfcAbstractEntity* e); IfcDraughtingPreDefinedCurveFont (IfcLabel v1_Name); - typedef IfcDraughtingPreDefinedCurveFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > > list; - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont >::it it; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > list; }; /// Definition from ISO/CD 10303-42:1992: An edge_loop is a loop with nonzero extent. It is a path in which the start and end vertices are the same. Its domain, if present, is a closed curve. An edge_loop may overlap itself. /// @@ -19086,20 +18448,18 @@ public: class IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. - SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > EdgeList(); - void setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v); + IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; + void setEdgeList(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeList"; } return IfcLoop::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdgeLoop (IfcAbstractEntityPtr e); - IfcEdgeLoop (SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList); - typedef IfcEdgeLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeLoop > > list; - typedef IfcTemplatedEntityList< IfcEdgeLoop >::it it; + IfcEdgeLoop (IfcAbstractEntity* e); + IfcEdgeLoop (IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList); + typedef IfcTemplatedEntityList< IfcEdgeLoop > list; }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -19181,27 +18541,25 @@ public: class IfcElementQuantity : public IfcPropertySetDefinition { public: /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity - bool hasMethodOfMeasurement(); + 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 - IfcLabel MethodOfMeasurement(); + IfcLabel MethodOfMeasurement() const; void setMethodOfMeasurement(IfcLabel v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > Quantities(); - void setQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v); + IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr Quantities() const; + void setQuantities(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "MethodOfMeasurement"; case 5: return "Quantities"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementQuantity (IfcAbstractEntityPtr e); - IfcElementQuantity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v6_Quantities); - typedef IfcElementQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementQuantity > > list; - typedef IfcTemplatedEntityList< IfcElementQuantity >::it it; + IfcElementQuantity (IfcAbstractEntity* e); + IfcElementQuantity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); + typedef IfcTemplatedEntityList< IfcElementQuantity > list; }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -19228,22 +18586,20 @@ public: class IfcElementType : public IfcTypeProduct { public: /// Whether the optional attribute ElementType is defined for this IfcElementType - bool hasElementType(); + bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ElementType(); + IfcLabel ElementType() const; void setElementType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ElementType"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementType (IfcAbstractEntityPtr e); - IfcElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementType > > list; - typedef IfcTemplatedEntityList< IfcElementType >::it it; + IfcElementType (IfcAbstractEntity* e); + IfcElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcElementType > list; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -19253,20 +18609,18 @@ public: 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(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementarySurface (IfcAbstractEntityPtr e); + IfcElementarySurface (IfcAbstractEntity* e); IfcElementarySurface (IfcAxis2Placement3D* v1_Position); - typedef IfcElementarySurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementarySurface > > list; - typedef IfcTemplatedEntityList< IfcElementarySurface >::it it; + typedef IfcTemplatedEntityList< IfcElementarySurface > list; }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -19287,47 +18641,43 @@ public: class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. - IfcPositiveLengthMeasure SemiAxis1(); + IfcPositiveLengthMeasure SemiAxis1() const; void setSemiAxis1(IfcPositiveLengthMeasure v); /// The second radius of the ellipse. It is measured along the direction of Position.P[2]. - IfcPositiveLengthMeasure SemiAxis2(); + IfcPositiveLengthMeasure SemiAxis2() const; void setSemiAxis2(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "SemiAxis1"; case 4: return "SemiAxis2"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEllipseProfileDef (IfcAbstractEntityPtr e); + IfcEllipseProfileDef (IfcAbstractEntity* e); IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2); - typedef IfcEllipseProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEllipseProfileDef > > list; - typedef IfcTemplatedEntityList< IfcEllipseProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; }; class IfcEnergyProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute EnergySequence is defined for this IfcEnergyProperties - bool hasEnergySequence(); - IfcEnergySequenceEnum::IfcEnergySequenceEnum EnergySequence(); + bool hasEnergySequence() const; + IfcEnergySequenceEnum::IfcEnergySequenceEnum EnergySequence() const; void setEnergySequence(IfcEnergySequenceEnum::IfcEnergySequenceEnum v); /// Whether the optional attribute UserDefinedEnergySequence is defined for this IfcEnergyProperties - bool hasUserDefinedEnergySequence(); - IfcLabel UserDefinedEnergySequence(); + bool hasUserDefinedEnergySequence() const; + IfcLabel UserDefinedEnergySequence() const; void setUserDefinedEnergySequence(IfcLabel v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_STRING; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "EnergySequence"; case 5: return "UserDefinedEnergySequence"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEnergyProperties (IfcAbstractEntityPtr e); + IfcEnergyProperties (IfcAbstractEntity* e); IfcEnergyProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence); - typedef IfcEnergyProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyProperties > > list; - typedef IfcTemplatedEntityList< IfcEnergyProperties >::it it; + typedef IfcTemplatedEntityList< IfcEnergyProperties > list; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -19400,24 +18750,22 @@ public: class IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. - IfcDirection* ExtrudedDirection(); + IfcDirection* ExtrudedDirection() const; void setExtrudedDirection(IfcDirection* v); /// The distance the surface is to be swept along the ExtrudedDirection /// . - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExtrudedAreaSolid (IfcAbstractEntityPtr e); + IfcExtrudedAreaSolid (IfcAbstractEntity* e); IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth); - typedef IfcExtrudedAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtrudedAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A face based surface model is described by a set of connected face sets of dimensionality 2. The connected face sets shall not intersect except at edges and vertices, except that a face in one connected face set may overlap a face in another connected face set, provided the face boundaries are identical. There shall be at least one connected face set. /// @@ -19434,20 +18782,18 @@ public: class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. - SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > FbsmFaces(); - void setFbsmFaces(SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v); + IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr FbsmFaces() const; + void setFbsmFaces(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "FbsmFaces"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceBasedSurfaceModel (IfcAbstractEntityPtr e); - IfcFaceBasedSurfaceModel (SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v1_FbsmFaces); - typedef IfcFaceBasedSurfaceModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceBasedSurfaceModel > > list; - typedef IfcTemplatedEntityList< IfcFaceBasedSurfaceModel >::it it; + IfcFaceBasedSurfaceModel (IfcAbstractEntity* e); + IfcFaceBasedSurfaceModel (IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v1_FbsmFaces); + typedef IfcTemplatedEntityList< IfcFaceBasedSurfaceModel > list; }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -19499,44 +18845,42 @@ public: 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(); + IfcCurveStyle* HatchLineAppearance() const; void setHatchLineAppearance(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(); + IfcHatchLineDistanceSelect StartOfNextHatchLine() const; void setStartOfNextHatchLine(IfcHatchLineDistanceSelect v); /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching - bool hasPointOfReferenceHatchLine(); + bool hasPointOfReferenceHatchLine() const; /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// 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(); + IfcCartesianPoint* PointOfReferenceHatchLine() const; void setPointOfReferenceHatchLine(IfcCartesianPoint* v); /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching - bool hasPatternStart(); + bool hasPatternStart() const; /// 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(); + IfcCartesianPoint* PatternStart() const; void setPatternStart(IfcCartesianPoint* v); /// A plane angle measure determining the direction of the parallel hatching lines. - IfcPlaneAngleMeasure HatchLineAngle(); + IfcPlaneAngleMeasure HatchLineAngle() const; void setHatchLineAngle(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HatchLineAppearance"; case 1: return "StartOfNextHatchLine"; case 2: return "PointOfReferenceHatchLine"; case 3: return "PatternStart"; case 4: return "HatchLineAngle"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyleHatching (IfcAbstractEntityPtr e); + IfcFillAreaStyleHatching (IfcAbstractEntity* e); IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle); - typedef IfcFillAreaStyleHatching* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleHatching > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching >::it it; + 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. /// @@ -19552,20 +18896,18 @@ public: /// IFC2x4 CHANGE The data type has been changed to IfcStyleItem. /// /// NOTE Only IfcStyleItem's that refer to a compatible geometric representation item and presentation style shall be used. - IfcAnnotationSymbolOccurrence* Symbol(); + IfcAnnotationSymbolOccurrence* Symbol() const; void setSymbol(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Symbol"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyleTileSymbolWithStyle (IfcAbstractEntityPtr e); + IfcFillAreaStyleTileSymbolWithStyle (IfcAbstractEntity* e); IfcFillAreaStyleTileSymbolWithStyle (IfcAnnotationSymbolOccurrence* v1_Symbol); - typedef IfcFillAreaStyleTileSymbolWithStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleTileSymbolWithStyle > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyleTileSymbolWithStyle >::it it; + typedef IfcTemplatedEntityList< IfcFillAreaStyleTileSymbolWithStyle > 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. /// @@ -19575,98 +18917,94 @@ public: class IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. - IfcOneDirectionRepeatFactor* TilingPattern(); + IfcOneDirectionRepeatFactor* TilingPattern() const; void setTilingPattern(IfcOneDirectionRepeatFactor* v); /// A set of constituents of the tile. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Tiles(); - void setTiles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Tiles() const; + void setTiles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// The scale factor applied to each tile as it is placed in the annotation fill area. - IfcPositiveRatioMeasure TilingScale(); + IfcPositiveRatioMeasure TilingScale() const; void setTilingScale(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TilingPattern"; case 1: return "Tiles"; case 2: return "TilingScale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyleTiles (IfcAbstractEntityPtr e); - IfcFillAreaStyleTiles (IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntities v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale); - typedef IfcFillAreaStyleTiles* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleTiles > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles >::it it; + IfcFillAreaStyleTiles (IfcAbstractEntity* e); + IfcFillAreaStyleTiles (IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntityList::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale); + typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles > list; }; class IfcFluidFlowProperties : public IfcPropertySetDefinition { public: - IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource(); + IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource() const; void setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); /// Whether the optional attribute FlowConditionTimeSeries is defined for this IfcFluidFlowProperties - bool hasFlowConditionTimeSeries(); - IfcTimeSeries* FlowConditionTimeSeries(); + bool hasFlowConditionTimeSeries() const; + IfcTimeSeries* FlowConditionTimeSeries() const; void setFlowConditionTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute VelocityTimeSeries is defined for this IfcFluidFlowProperties - bool hasVelocityTimeSeries(); - IfcTimeSeries* VelocityTimeSeries(); + bool hasVelocityTimeSeries() const; + IfcTimeSeries* VelocityTimeSeries() const; void setVelocityTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute FlowrateTimeSeries is defined for this IfcFluidFlowProperties - bool hasFlowrateTimeSeries(); - IfcTimeSeries* FlowrateTimeSeries(); + bool hasFlowrateTimeSeries() const; + IfcTimeSeries* FlowrateTimeSeries() const; void setFlowrateTimeSeries(IfcTimeSeries* v); - IfcMaterial* Fluid(); + IfcMaterial* Fluid() const; void setFluid(IfcMaterial* v); /// Whether the optional attribute PressureTimeSeries is defined for this IfcFluidFlowProperties - bool hasPressureTimeSeries(); - IfcTimeSeries* PressureTimeSeries(); + bool hasPressureTimeSeries() const; + IfcTimeSeries* PressureTimeSeries() const; void setPressureTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute UserDefinedPropertySource is defined for this IfcFluidFlowProperties - bool hasUserDefinedPropertySource(); - IfcLabel UserDefinedPropertySource(); + bool hasUserDefinedPropertySource() const; + IfcLabel UserDefinedPropertySource() const; void setUserDefinedPropertySource(IfcLabel v); /// Whether the optional attribute TemperatureSingleValue is defined for this IfcFluidFlowProperties - bool hasTemperatureSingleValue(); - IfcThermodynamicTemperatureMeasure TemperatureSingleValue(); + bool hasTemperatureSingleValue() const; + IfcThermodynamicTemperatureMeasure TemperatureSingleValue() const; void setTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute WetBulbTemperatureSingleValue is defined for this IfcFluidFlowProperties - bool hasWetBulbTemperatureSingleValue(); - IfcThermodynamicTemperatureMeasure WetBulbTemperatureSingleValue(); + bool hasWetBulbTemperatureSingleValue() const; + IfcThermodynamicTemperatureMeasure WetBulbTemperatureSingleValue() const; void setWetBulbTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute WetBulbTemperatureTimeSeries is defined for this IfcFluidFlowProperties - bool hasWetBulbTemperatureTimeSeries(); - IfcTimeSeries* WetBulbTemperatureTimeSeries(); + bool hasWetBulbTemperatureTimeSeries() const; + IfcTimeSeries* WetBulbTemperatureTimeSeries() const; void setWetBulbTemperatureTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute TemperatureTimeSeries is defined for this IfcFluidFlowProperties - bool hasTemperatureTimeSeries(); - IfcTimeSeries* TemperatureTimeSeries(); + bool hasTemperatureTimeSeries() const; + IfcTimeSeries* TemperatureTimeSeries() const; void setTemperatureTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute FlowrateSingleValue is defined for this IfcFluidFlowProperties - bool hasFlowrateSingleValue(); - IfcDerivedMeasureValue FlowrateSingleValue(); + bool hasFlowrateSingleValue() const; + IfcDerivedMeasureValue FlowrateSingleValue() const; void setFlowrateSingleValue(IfcDerivedMeasureValue v); /// Whether the optional attribute FlowConditionSingleValue is defined for this IfcFluidFlowProperties - bool hasFlowConditionSingleValue(); - IfcPositiveRatioMeasure FlowConditionSingleValue(); + bool hasFlowConditionSingleValue() const; + IfcPositiveRatioMeasure FlowConditionSingleValue() const; void setFlowConditionSingleValue(IfcPositiveRatioMeasure v); /// Whether the optional attribute VelocitySingleValue is defined for this IfcFluidFlowProperties - bool hasVelocitySingleValue(); - IfcLinearVelocityMeasure VelocitySingleValue(); + bool hasVelocitySingleValue() const; + IfcLinearVelocityMeasure VelocitySingleValue() const; void setVelocitySingleValue(IfcLinearVelocityMeasure v); /// Whether the optional attribute PressureSingleValue is defined for this IfcFluidFlowProperties - bool hasPressureSingleValue(); - IfcPressureMeasure PressureSingleValue(); + bool hasPressureSingleValue() const; + IfcPressureMeasure PressureSingleValue() const; void setPressureSingleValue(IfcPressureMeasure v); virtual unsigned int getArgumentCount() const { return 19; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_ENTITY; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_ENTITY; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_DOUBLE; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "PropertySource"; case 5: return "FlowConditionTimeSeries"; case 6: return "VelocityTimeSeries"; case 7: return "FlowrateTimeSeries"; case 8: return "Fluid"; case 9: return "PressureTimeSeries"; case 10: return "UserDefinedPropertySource"; case 11: return "TemperatureSingleValue"; case 12: return "WetBulbTemperatureSingleValue"; case 13: return "WetBulbTemperatureTimeSeries"; case 14: return "TemperatureTimeSeries"; case 15: return "FlowrateSingleValue"; case 16: return "FlowConditionSingleValue"; case 17: return "VelocitySingleValue"; case 18: return "PressureSingleValue"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFluidFlowProperties (IfcAbstractEntityPtr e); + IfcFluidFlowProperties (IfcAbstractEntity* e); IfcFluidFlowProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< IfcLabel > v11_UserDefinedPropertySource, boost::optional< IfcThermodynamicTemperatureMeasure > v12_TemperatureSingleValue, boost::optional< IfcThermodynamicTemperatureMeasure > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue > v16_FlowrateSingleValue, boost::optional< IfcPositiveRatioMeasure > v17_FlowConditionSingleValue, boost::optional< IfcLinearVelocityMeasure > v18_VelocitySingleValue, boost::optional< IfcPressureMeasure > v19_PressureSingleValue); - typedef IfcFluidFlowProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFluidFlowProperties > > list; - typedef IfcTemplatedEntityList< IfcFluidFlowProperties >::it it; + typedef IfcTemplatedEntityList< IfcFluidFlowProperties > list; }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -19701,15 +19039,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnishingElementType (IfcAbstractEntityPtr e); - IfcFurnishingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFurnishingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnishingElementType > > list; - typedef IfcTemplatedEntityList< IfcFurnishingElementType >::it it; + IfcFurnishingElementType (IfcAbstractEntity* e); + IfcFurnishingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFurnishingElementType > list; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -19751,20 +19087,18 @@ public: 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(); + IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; void setAssemblyPlace(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "AssemblyPlace"; } return IfcFurnishingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnitureType (IfcAbstractEntityPtr e); - IfcFurnitureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace); - typedef IfcFurnitureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnitureType > > list; - typedef IfcTemplatedEntityList< IfcFurnitureType >::it it; + IfcFurnitureType (IfcAbstractEntity* e); + IfcFurnitureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace); + typedef IfcTemplatedEntityList< IfcFurnitureType > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. /// @@ -19778,15 +19112,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricSet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricCurveSet (IfcAbstractEntityPtr e); - IfcGeometricCurveSet (IfcEntities v1_Elements); - typedef IfcGeometricCurveSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricCurveSet > > list; - typedef IfcTemplatedEntityList< IfcGeometricCurveSet >::it it; + IfcGeometricCurveSet (IfcAbstractEntity* e); + IfcGeometricCurveSet (IfcEntityList::ptr v1_Elements); + typedef IfcTemplatedEntityList< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -19854,34 +19186,32 @@ public: class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure OverallWidth(); + IfcPositiveLengthMeasure OverallWidth() const; void setOverallWidth(IfcPositiveLengthMeasure v); /// Total extent of the depth, defined parallel to the y axis of the position coordinate system. - IfcPositiveLengthMeasure OverallDepth(); + IfcPositiveLengthMeasure OverallDepth() const; void setOverallDepth(IfcPositiveLengthMeasure v); /// Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system. - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// The fillet between the web and the flange. - IfcPositiveLengthMeasure FilletRadius(); + IfcPositiveLengthMeasure FilletRadius() const; void setFilletRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallWidth"; case 4: return "OverallDepth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIShapeProfileDef (IfcAbstractEntityPtr e); + IfcIShapeProfileDef (IfcAbstractEntity* e); IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius); - typedef IfcIShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcIShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -19937,51 +19267,49 @@ public: class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef - bool hasWidth(); + bool hasWidth() const; /// Leg length, see illustration above (= b). Same as the overall width. - IfcPositiveLengthMeasure Width(); + IfcPositiveLengthMeasure Width() const; void setWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of profile, see illustration above (= ts). - IfcPositiveLengthMeasure Thickness(); + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius(); + IfcPositiveLengthMeasure FilletRadius() const; void setFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef - bool hasEdgeRadius(); + bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure EdgeRadius(); + IfcPositiveLengthMeasure EdgeRadius() const; void setEdgeRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef - bool hasLegSlope(); + bool hasLegSlope() const; /// Slope of the inner face of each leg of the profile. - IfcPlaneAngleMeasure LegSlope(); + IfcPlaneAngleMeasure LegSlope() const; void setLegSlope(IfcPlaneAngleMeasure v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcLShapeProfileDef - bool hasCentreOfGravityInX(); - IfcPositiveLengthMeasure CentreOfGravityInX(); + bool hasCentreOfGravityInX() const; + IfcPositiveLengthMeasure CentreOfGravityInX() const; void setCentreOfGravityInX(IfcPositiveLengthMeasure v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcLShapeProfileDef - bool hasCentreOfGravityInY(); - IfcPositiveLengthMeasure CentreOfGravityInY(); + bool hasCentreOfGravityInY() const; + IfcPositiveLengthMeasure CentreOfGravityInY() const; void setCentreOfGravityInY(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "Thickness"; case 6: return "FilletRadius"; case 7: return "EdgeRadius"; case 8: return "LegSlope"; case 9: return "CentreOfGravityInX"; case 10: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLShapeProfileDef (IfcAbstractEntityPtr e); + IfcLShapeProfileDef (IfcAbstractEntity* e); IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcPositiveLengthMeasure > v7_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope, boost::optional< IfcPositiveLengthMeasure > v10_CentreOfGravityInX, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInY); - typedef IfcLShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcLShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcLShapeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A line is an unbounded curve with constant tangent direction. A line is defined by a point and a direction. The positive direction of the line is in the direction of the Dir vector. The line is parameterized as follows: /// @@ -19999,23 +19327,21 @@ public: class IfcLine : public IfcCurve { public: /// The location of the line. - IfcCartesianPoint* Pnt(); + IfcCartesianPoint* Pnt() const; void setPnt(IfcCartesianPoint* v); /// The direction of the line, the magnitude and units of Dir affect the parameterization of the line. - IfcVector* Dir(); + IfcVector* Dir() const; void setDir(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Pnt"; case 1: return "Dir"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLine (IfcAbstractEntityPtr e); + IfcLine (IfcAbstractEntity* e); IfcLine (IfcCartesianPoint* v1_Pnt, IfcVector* v2_Dir); - typedef IfcLine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLine > > list; - typedef IfcTemplatedEntityList< IfcLine >::it it; + typedef IfcTemplatedEntityList< IfcLine > list; }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -20083,20 +19409,18 @@ public: 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(); + IfcClosedShell* Outer() const; void setOuter(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Outer"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcManifoldSolidBrep (IfcAbstractEntityPtr e); + IfcManifoldSolidBrep (IfcAbstractEntity* e); IfcManifoldSolidBrep (IfcClosedShell* v1_Outer); - typedef IfcManifoldSolidBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcManifoldSolidBrep > > list; - typedef IfcTemplatedEntityList< IfcManifoldSolidBrep >::it it; + typedef IfcTemplatedEntityList< IfcManifoldSolidBrep > list; }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -20183,23 +19507,21 @@ public: class IfcObject : public IfcObjectDefinition { public: /// Whether the optional attribute ObjectType is defined for this IfcObject - bool hasObjectType(); + bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - IfcLabel ObjectType(); + IfcLabel ObjectType() const; void setObjectType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ObjectType"; } return IfcObjectDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefines > > IsDefinedBy(); // INVERSE IfcRelDefines::RelatedObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefines >::ptr IsDefinedBy() const; // INVERSE IfcRelDefines::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObject (IfcAbstractEntityPtr e); + IfcObject (IfcAbstractEntity* e); IfcObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObject > > list; - typedef IfcTemplatedEntityList< IfcObject >::it it; + 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. /// @@ -20215,26 +19537,24 @@ public: class IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. - IfcCurve* BasisCurve(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) - IfcLengthMeasure Distance(); + IfcLengthMeasure Distance() const; void setDistance(IfcLengthMeasure v); /// An indication of whether the offset curve self-intersects; this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOffsetCurve2D (IfcAbstractEntityPtr e); + IfcOffsetCurve2D (IfcAbstractEntity* e); IfcOffsetCurve2D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect); - typedef IfcOffsetCurve2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOffsetCurve2D > > list; - typedef IfcTemplatedEntityList< IfcOffsetCurve2D >::it it; + typedef IfcTemplatedEntityList< IfcOffsetCurve2D > list; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -20254,29 +19574,27 @@ public: class IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. - IfcCurve* BasisCurve(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. - IfcLengthMeasure Distance(); + IfcLengthMeasure Distance() const; void setDistance(IfcLengthMeasure v); /// An indication of whether the offset curve self-intersects, this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(bool v); /// The direction used to define the direction of the offset curve 3d from the basis curve. - IfcDirection* RefDirection(); + IfcDirection* RefDirection() const; void setRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; case 3: return "RefDirection"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOffsetCurve3D (IfcAbstractEntityPtr e); + IfcOffsetCurve3D (IfcAbstractEntity* e); IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); - typedef IfcOffsetCurve3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOffsetCurve3D > > list; - typedef IfcTemplatedEntityList< IfcOffsetCurve3D >::it it; + typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -20312,38 +19630,36 @@ public: 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(); + IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum OperationType() const; void setOperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v); /// Position of this permeable covering panel within the overall window or door type. - IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition(); + IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties - bool hasFrameDepth(); + bool hasFrameDepth() const; /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameDepth(); + IfcPositiveLengthMeasure FrameDepth() const; void setFrameDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties - bool hasFrameThickness(); + bool hasFrameThickness() const; /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameThickness(); + IfcPositiveLengthMeasure FrameThickness() const; void setFrameThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "OperationType"; case 5: return "PanelPosition"; case 6: return "FrameDepth"; case 7: return "FrameThickness"; case 8: return "ShapeAspectStyle"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPermeableCoveringProperties (IfcAbstractEntityPtr e); + IfcPermeableCoveringProperties (IfcAbstractEntity* e); IfcPermeableCoveringProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcPermeableCoveringProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPermeableCoveringProperties > > list; - typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties >::it it; + 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. /// @@ -20355,20 +19671,18 @@ class IfcPlanarBox : public IfcPlanarExtent { public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. - IfcAxis2Placement Placement(); + IfcAxis2Placement Placement() const; void setPlacement(IfcAxis2Placement v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Placement"; } return IfcPlanarExtent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlanarBox (IfcAbstractEntityPtr e); + IfcPlanarBox (IfcAbstractEntity* e); IfcPlanarBox (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement); - typedef IfcPlanarBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlanarBox > > list; - typedef IfcTemplatedEntityList< IfcPlanarBox >::it it; + typedef IfcTemplatedEntityList< IfcPlanarBox > list; }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -20411,15 +19725,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementarySurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementarySurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlane (IfcAbstractEntityPtr e); + IfcPlane (IfcAbstractEntity* e); IfcPlane (IfcAxis2Placement3D* v1_Position); - typedef IfcPlane* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlane > > list; - typedef IfcTemplatedEntityList< IfcPlane >::it it; + typedef IfcTemplatedEntityList< IfcPlane > list; }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -20466,18 +19778,16 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > OperatesOn(); // INVERSE IfcRelAssignsToProcess::RelatingProcess - SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > IsSuccessorFrom(); // INVERSE IfcRelSequence::RelatedProcess - SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > IsPredecessorTo(); // INVERSE IfcRelSequence::RelatingProcess + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess + IfcTemplatedEntityList< IfcRelSequence >::ptr IsSuccessorFrom() const; // INVERSE IfcRelSequence::RelatedProcess + IfcTemplatedEntityList< IfcRelSequence >::ptr IsPredecessorTo() const; // INVERSE IfcRelSequence::RelatingProcess bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProcess (IfcAbstractEntityPtr e); + IfcProcess (IfcAbstractEntity* e); IfcProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcess > > list; - typedef IfcTemplatedEntityList< IfcProcess >::it it; + typedef IfcTemplatedEntityList< IfcProcess > list; }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -20573,28 +19883,26 @@ public: class IfcProduct : public IfcObject { public: /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct - bool hasObjectPlacement(); + 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(); + IfcObjectPlacement* ObjectPlacement() const; void setObjectPlacement(IfcObjectPlacement* v); /// Whether the optional attribute Representation is defined for this IfcProduct - bool hasRepresentation(); + bool hasRepresentation() const; /// 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(); + IfcProductRepresentation* Representation() const; void setRepresentation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ObjectPlacement"; case 6: return "Representation"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > ReferencedBy(); // INVERSE IfcRelAssignsToProduct::RelatingProduct + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProduct (IfcAbstractEntityPtr e); + IfcProduct (IfcAbstractEntity* e); IfcProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > list; - typedef IfcTemplatedEntityList< IfcProduct >::it it; + typedef IfcTemplatedEntityList< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -20643,29 +19951,27 @@ public: class IfcProject : public IfcObject { public: /// Whether the optional attribute LongName is defined for this IfcProject - bool hasLongName(); - IfcLabel LongName(); + bool hasLongName() const; + IfcLabel LongName() const; void setLongName(IfcLabel v); /// Whether the optional attribute Phase is defined for this IfcProject - bool hasPhase(); - IfcLabel Phase(); + bool hasPhase() const; + IfcLabel Phase() const; void setPhase(IfcLabel v); - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > RepresentationContexts(); - void setRepresentationContexts(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > v); - IfcUnitAssignment* UnitsInContext(); + IfcTemplatedEntityList< IfcRepresentationContext >::ptr RepresentationContexts() const; + void setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); + IfcUnitAssignment* UnitsInContext() const; void setUnitsInContext(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "LongName"; case 6: return "Phase"; case 7: return "RepresentationContexts"; case 8: return "UnitsInContext"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProject (IfcAbstractEntityPtr e); - IfcProject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); - typedef IfcProject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProject > > list; - typedef IfcTemplatedEntityList< IfcProject >::it it; + IfcProject (IfcAbstractEntity* e); + IfcProject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, IfcTemplatedEntityList< IfcRepresentationContext >::ptr v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + typedef IfcTemplatedEntityList< IfcProject > list; }; class IfcProjectionCurve : public IfcAnnotationCurveOccurrence { @@ -20673,15 +19979,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAnnotationCurveOccurrence::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectionCurve (IfcAbstractEntityPtr e); - IfcProjectionCurve (IfcRepresentationItem* v1_Item, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcProjectionCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectionCurve > > list; - typedef IfcTemplatedEntityList< IfcProjectionCurve >::it it; + IfcProjectionCurve (IfcAbstractEntity* e); + IfcProjectionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + typedef IfcTemplatedEntityList< IfcProjectionCurve > list; }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -20739,20 +20043,18 @@ public: class IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > HasProperties(); - void setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; + void setHasProperties(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "HasProperties"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySet (IfcAbstractEntityPtr e); - IfcPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v5_HasProperties); - typedef IfcPropertySet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySet > > list; - typedef IfcTemplatedEntityList< IfcPropertySet >::it it; + IfcPropertySet (IfcAbstractEntity* e); + IfcPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); + typedef IfcTemplatedEntityList< IfcPropertySet > list; }; /// IfcProxy is intended to be a kind of a container for wrapping objects which are defined by associated properties, which may or may not have a geometric representation and placement in space. A proxy may have a semantic meaning, defined by the Name attribute, and property definitions, attached through the property assignment relationship, which definition may be outside of the definitions given by the current release of IFC. /// @@ -20773,25 +20075,23 @@ public: 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(); + IfcObjectTypeEnum::IfcObjectTypeEnum ProxyType() const; void setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v); /// Whether the optional attribute Tag is defined for this IfcProxy - bool hasTag(); + bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcLabel Tag(); + IfcLabel Tag() const; void setTag(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "ProxyType"; case 8: return "Tag"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProxy (IfcAbstractEntityPtr e); + IfcProxy (IfcAbstractEntity* e); IfcProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag); - typedef IfcProxy* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProxy > > list; - typedef IfcTemplatedEntityList< IfcProxy >::it it; + 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. /// @@ -20816,30 +20116,28 @@ public: class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. - IfcPositiveLengthMeasure WallThickness(); + IfcPositiveLengthMeasure WallThickness() const; void setWallThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasInnerFilletRadius(); + bool hasInnerFilletRadius() const; /// Inner corner radius. - IfcPositiveLengthMeasure InnerFilletRadius(); + IfcPositiveLengthMeasure InnerFilletRadius() const; void setInnerFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasOuterFilletRadius(); + bool hasOuterFilletRadius() const; /// Outer corner radius. - IfcPositiveLengthMeasure OuterFilletRadius(); + IfcPositiveLengthMeasure OuterFilletRadius() const; void setOuterFilletRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "WallThickness"; case 6: return "InnerFilletRadius"; case 7: return "OuterFilletRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangleHollowProfileDef (IfcAbstractEntityPtr e); + IfcRectangleHollowProfileDef (IfcAbstractEntity* e); IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcPositiveLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_OuterFilletRadius); - typedef IfcRectangleHollowProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangleHollowProfileDef > > list; - typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef > list; }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -20932,26 +20230,24 @@ public: class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength(); + IfcPositiveLengthMeasure XLength() const; void setXLength(IfcPositiveLengthMeasure v); /// The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength(); + IfcPositiveLengthMeasure YLength() const; void setYLength(IfcPositiveLengthMeasure v); /// The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure Height(); + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "Height"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangularPyramid (IfcAbstractEntityPtr e); + IfcRectangularPyramid (IfcAbstractEntity* e); IfcRectangularPyramid (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height); - typedef IfcRectangularPyramid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangularPyramid > > list; - typedef IfcTemplatedEntityList< IfcRectangularPyramid >::it it; + typedef IfcTemplatedEntityList< IfcRectangularPyramid > list; }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -20971,38 +20267,36 @@ public: class IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. - IfcSurface* BasisSurface(); + IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// First u parametric value. - IfcParameterValue U1(); + IfcParameterValue U1() const; void setU1(IfcParameterValue v); /// First v parametric value. - IfcParameterValue V1(); + IfcParameterValue V1() const; void setV1(IfcParameterValue v); /// Second u parametric value. - IfcParameterValue U2(); + IfcParameterValue U2() const; void setU2(IfcParameterValue v); /// Second v parametric value. - IfcParameterValue V2(); + IfcParameterValue V2() const; void setV2(IfcParameterValue 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(); + bool Usense() const; void setUsense(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(); + bool Vsense() const; void setVsense(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "U1"; case 2: return "V1"; case 3: return "U2"; case 4: return "V2"; case 5: return "Usense"; case 6: return "Vsense"; } return IfcBoundedSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangularTrimmedSurface (IfcAbstractEntityPtr e); + IfcRectangularTrimmedSurface (IfcAbstractEntity* e); IfcRectangularTrimmedSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense); - typedef IfcRectangularTrimmedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangularTrimmedSurface > > list; - typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface >::it it; + typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface > list; }; /// The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1st level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects. /// @@ -21018,26 +20312,24 @@ public: class IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. - SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v); + IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns - bool hasRelatedObjectsType(); + bool hasRelatedObjectsType() const; /// 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(); + IfcObjectTypeEnum::IfcObjectTypeEnum RelatedObjectsType() const; void setRelatedObjectsType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; case 5: return "RelatedObjectsType"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssigns (IfcAbstractEntityPtr e); - IfcRelAssigns (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); - typedef IfcRelAssigns* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssigns > > list; - typedef IfcTemplatedEntityList< IfcRelAssigns >::it it; + IfcRelAssigns (IfcAbstractEntity* e); + IfcRelAssigns (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); + typedef IfcTemplatedEntityList< IfcRelAssigns > list; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -21051,25 +20343,23 @@ public: 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(); + IfcActor* RelatingActor() const; void setRelatingActor(IfcActor* v); /// Whether the optional attribute ActingRole is defined for this IfcRelAssignsToActor - bool hasActingRole(); + bool hasActingRole() const; /// Role of the actor played within the context of the assignment to the object(s). - IfcActorRole* ActingRole(); + IfcActorRole* ActingRole() const; void setActingRole(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingActor"; case 7: return "ActingRole"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToActor (IfcAbstractEntityPtr e); - IfcRelAssignsToActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); - typedef IfcRelAssignsToActor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToActor > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToActor >::it it; + IfcRelAssignsToActor (IfcAbstractEntity* e); + IfcRelAssignsToActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + 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). /// @@ -21079,20 +20369,18 @@ public: class IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. - IfcControl* RelatingControl(); + IfcControl* RelatingControl() const; void setRelatingControl(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingControl"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToControl (IfcAbstractEntityPtr e); - IfcRelAssignsToControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); - typedef IfcRelAssignsToControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToControl > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToControl >::it it; + IfcRelAssignsToControl (IfcAbstractEntity* e); + IfcRelAssignsToControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + 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). /// @@ -21110,20 +20398,18 @@ public: class IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. - IfcGroup* RelatingGroup(); + IfcGroup* RelatingGroup() const; void setRelatingGroup(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingGroup"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToGroup (IfcAbstractEntityPtr e); - IfcRelAssignsToGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); - typedef IfcRelAssignsToGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroup > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToGroup >::it it; + IfcRelAssignsToGroup (IfcAbstractEntity* e); + IfcRelAssignsToGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); + typedef IfcTemplatedEntityList< IfcRelAssignsToGroup > list; }; /// The objectified relationship IfcRelAssignsToProcess handles the assignment of one or many objects to a process or activity. An object can be a product that is the item the process operates on. Processes and activities can operate on things other than products, and can operate in ways other than input and output. /// @@ -21152,25 +20438,23 @@ public: /// Reference to the process to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcProcess and IfcTypeProcess. - IfcProcess* RelatingProcess(); + IfcProcess* RelatingProcess() const; void setRelatingProcess(IfcProcess* v); /// Whether the optional attribute QuantityInProcess is defined for this IfcRelAssignsToProcess - bool hasQuantityInProcess(); + bool hasQuantityInProcess() const; /// Quantity of the object specific for the operation by this process. - IfcMeasureWithUnit* QuantityInProcess(); + IfcMeasureWithUnit* QuantityInProcess() const; void setQuantityInProcess(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingProcess"; case 7: return "QuantityInProcess"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToProcess (IfcAbstractEntityPtr e); - IfcRelAssignsToProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); - typedef IfcRelAssignsToProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToProcess >::it it; + IfcRelAssignsToProcess (IfcAbstractEntity* e); + IfcRelAssignsToProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); + 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: /// @@ -21185,20 +20469,18 @@ public: /// Reference to the product or product type to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcProduct and IfcTypeProduct. - IfcProduct* RelatingProduct(); + IfcProduct* RelatingProduct() const; void setRelatingProduct(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingProduct"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToProduct (IfcAbstractEntityPtr e); - IfcRelAssignsToProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct); - typedef IfcRelAssignsToProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToProduct >::it it; + IfcRelAssignsToProduct (IfcAbstractEntity* e); + IfcRelAssignsToProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct); + typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; }; class IfcRelAssignsToProjectOrder : public IfcRelAssignsToControl { @@ -21206,15 +20488,13 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelAssignsToControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelAssignsToControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToProjectOrder (IfcAbstractEntityPtr e); - IfcRelAssignsToProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); - typedef IfcRelAssignsToProjectOrder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::it it; + IfcRelAssignsToProjectOrder (IfcAbstractEntity* e); + IfcRelAssignsToProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + typedef IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > list; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -21227,20 +20507,18 @@ public: /// Reference to the resource to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcResource and IfcTypeResource. - IfcResource* RelatingResource(); + IfcResource* RelatingResource() const; void setRelatingResource(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingResource"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToResource (IfcAbstractEntityPtr e); - IfcRelAssignsToResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource); - typedef IfcRelAssignsToResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToResource >::it it; + IfcRelAssignsToResource (IfcAbstractEntity* e); + IfcRelAssignsToResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource); + typedef IfcTemplatedEntityList< IfcRelAssignsToResource > list; }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -21288,38 +20566,34 @@ public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. - SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v); + IfcTemplatedEntityList< IfcRoot >::ptr RelatedObjects() const; + void setRelatedObjects(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociates (IfcAbstractEntityPtr e); - IfcRelAssociates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects); - typedef IfcRelAssociates* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > list; - typedef IfcTemplatedEntityList< IfcRelAssociates >::it it; + IfcRelAssociates (IfcAbstractEntity* e); + IfcRelAssociates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelAssociates > list; }; class IfcRelAssociatesAppliedValue : public IfcRelAssociates { public: - IfcAppliedValue* RelatingAppliedValue(); + IfcAppliedValue* RelatingAppliedValue() const; void setRelatingAppliedValue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingAppliedValue"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesAppliedValue (IfcAbstractEntityPtr e); - IfcRelAssociatesAppliedValue (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue); - typedef IfcRelAssociatesAppliedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesAppliedValue > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesAppliedValue >::it it; + IfcRelAssociatesAppliedValue (IfcAbstractEntity* e); + IfcRelAssociatesAppliedValue (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue); + typedef IfcTemplatedEntityList< IfcRelAssociatesAppliedValue > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. /// @@ -21327,20 +20601,18 @@ public: class IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. - IfcApproval* RelatingApproval(); + IfcApproval* RelatingApproval() const; void setRelatingApproval(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingApproval"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesApproval (IfcAbstractEntityPtr e); - IfcRelAssociatesApproval (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcApproval* v6_RelatingApproval); - typedef IfcRelAssociatesApproval* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesApproval > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesApproval >::it it; + IfcRelAssociatesApproval (IfcAbstractEntity* e); + IfcRelAssociatesApproval (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); + typedef IfcTemplatedEntityList< IfcRelAssociatesApproval > list; }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -21375,20 +20647,18 @@ public: class IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. - IfcClassificationNotationSelect RelatingClassification(); + IfcClassificationNotationSelect RelatingClassification() const; void setRelatingClassification(IfcClassificationNotationSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingClassification"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesClassification (IfcAbstractEntityPtr e); - IfcRelAssociatesClassification (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcClassificationNotationSelect v6_RelatingClassification); - typedef IfcRelAssociatesClassification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesClassification > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesClassification >::it it; + IfcRelAssociatesClassification (IfcAbstractEntity* e); + IfcRelAssociatesClassification (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcClassificationNotationSelect v6_RelatingClassification); + typedef IfcTemplatedEntityList< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// @@ -21396,23 +20666,21 @@ public: class IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. - IfcLabel Intent(); + IfcLabel Intent() const; void setIntent(IfcLabel v); /// Reference to constraint that is being applied using this relationship. - IfcConstraint* RelatingConstraint(); + IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Intent"; case 6: return "RelatingConstraint"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesConstraint (IfcAbstractEntityPtr e); - IfcRelAssociatesConstraint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcLabel v6_Intent, IfcConstraint* v7_RelatingConstraint); - typedef IfcRelAssociatesConstraint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesConstraint > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint >::it it; + IfcRelAssociatesConstraint (IfcAbstractEntity* e); + IfcRelAssociatesConstraint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLabel v6_Intent, IfcConstraint* v7_RelatingConstraint); + 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). /// @@ -21424,20 +20692,18 @@ public: class IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. - IfcDocumentSelect RelatingDocument(); + IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(IfcDocumentSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingDocument"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesDocument (IfcAbstractEntityPtr e); - IfcRelAssociatesDocument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument); - typedef IfcRelAssociatesDocument* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesDocument > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesDocument >::it it; + IfcRelAssociatesDocument (IfcAbstractEntity* e); + IfcRelAssociatesDocument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument); + 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. /// @@ -21449,20 +20715,18 @@ public: class IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. - IfcLibrarySelect RelatingLibrary(); + IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(IfcLibrarySelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingLibrary"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesLibrary (IfcAbstractEntityPtr e); - IfcRelAssociatesLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary); - typedef IfcRelAssociatesLibrary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesLibrary > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary >::it it; + IfcRelAssociatesLibrary (IfcAbstractEntity* e); + IfcRelAssociatesLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary); + typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -21561,46 +20825,42 @@ public: class IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. - IfcMaterialSelect RelatingMaterial(); + IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(IfcMaterialSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingMaterial"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesMaterial (IfcAbstractEntityPtr e); - IfcRelAssociatesMaterial (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial); - typedef IfcRelAssociatesMaterial* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesMaterial > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial >::it it; + IfcRelAssociatesMaterial (IfcAbstractEntity* e); + IfcRelAssociatesMaterial (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial); + typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial > list; }; class IfcRelAssociatesProfileProperties : public IfcRelAssociates { public: - IfcProfileProperties* RelatingProfileProperties(); + IfcProfileProperties* RelatingProfileProperties() const; void setRelatingProfileProperties(IfcProfileProperties* v); /// Whether the optional attribute ProfileSectionLocation is defined for this IfcRelAssociatesProfileProperties - bool hasProfileSectionLocation(); - IfcShapeAspect* ProfileSectionLocation(); + bool hasProfileSectionLocation() const; + IfcShapeAspect* ProfileSectionLocation() const; void setProfileSectionLocation(IfcShapeAspect* v); /// Whether the optional attribute ProfileOrientation is defined for this IfcRelAssociatesProfileProperties - bool hasProfileOrientation(); - IfcOrientationSelect ProfileOrientation(); + bool hasProfileOrientation() const; + IfcOrientationSelect ProfileOrientation() const; void setProfileOrientation(IfcOrientationSelect v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingProfileProperties"; case 6: return "ProfileSectionLocation"; case 7: return "ProfileOrientation"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesProfileProperties (IfcAbstractEntityPtr e); - IfcRelAssociatesProfileProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect > v8_ProfileOrientation); - typedef IfcRelAssociatesProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesProfileProperties >::it it; + IfcRelAssociatesProfileProperties (IfcAbstractEntity* e); + IfcRelAssociatesProfileProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect > v8_ProfileOrientation); + 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. /// @@ -21610,15 +20870,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnects (IfcAbstractEntityPtr e); + IfcRelConnects (IfcAbstractEntity* e); IfcRelConnects (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRelConnects* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnects > > list; - typedef IfcTemplatedEntityList< IfcRelConnects >::it it; + typedef IfcTemplatedEntityList< IfcRelConnects > list; }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -21645,28 +20903,26 @@ public: class IfcRelConnectsElements : public IfcRelConnects { public: /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements - bool hasConnectionGeometry(); + 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(); + IfcConnectionGeometry* ConnectionGeometry() const; void setConnectionGeometry(IfcConnectionGeometry* v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatingElement. - IfcElement* RelatingElement(); + IfcElement* RelatingElement() const; void setRelatingElement(IfcElement* v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatedElement. - IfcElement* RelatedElement(); + IfcElement* RelatedElement() const; void setRelatedElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ConnectionGeometry"; case 5: return "RelatingElement"; case 6: return "RelatedElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsElements (IfcAbstractEntityPtr e); + IfcRelConnectsElements (IfcAbstractEntity* e); IfcRelConnectsElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); - typedef IfcRelConnectsElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsElements >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -21703,29 +20959,27 @@ public: class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. - std::vector< int > /*[0:?]*/ RelatingPriorities(); + std::vector< int > /*[0:?]*/ RelatingPriorities() const; void setRelatingPriorities(std::vector< int > /*[0:?]*/ v); /// Priorities for connection. It refers to the layers of the RelatedObject. - std::vector< int > /*[0:?]*/ RelatedPriorities(); + std::vector< int > /*[0:?]*/ RelatedPriorities() const; void setRelatedPriorities(std::vector< int > /*[0:?]*/ v); /// Indication of the connection type in relation to the path of the RelatingObject. - IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType(); + IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType() const; void setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); /// Indication of the connection type in relation to the path of the RelatingObject. - IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType(); + IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType() const; void setRelatingConnectionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RelatingPriorities"; case 8: return "RelatedPriorities"; case 9: return "RelatedConnectionType"; case 10: return "RelatingConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsPathElements (IfcAbstractEntityPtr e); + IfcRelConnectsPathElements (IfcAbstractEntity* e); IfcRelConnectsPathElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); - typedef IfcRelConnectsPathElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPathElements > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsPathElements >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -21755,25 +21009,23 @@ public: class IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. - IfcPort* RelatingPort(); + IfcPort* RelatingPort() const; void setRelatingPort(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(); + IfcElement* RelatedElement() const; void setRelatedElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingPort"; case 5: return "RelatedElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsPortToElement (IfcAbstractEntityPtr e); + IfcRelConnectsPortToElement (IfcAbstractEntity* e); IfcRelConnectsPortToElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement); - typedef IfcRelConnectsPortToElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement > list; }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -21791,28 +21043,26 @@ public: class IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. - IfcPort* RelatingPort(); + IfcPort* RelatingPort() const; void setRelatingPort(IfcPort* v); /// Reference to the second port that is connected by the objectified relationship. - IfcPort* RelatedPort(); + IfcPort* RelatedPort() const; void setRelatedPort(IfcPort* v); /// Whether the optional attribute RealizingElement is defined for this IfcRelConnectsPorts - bool hasRealizingElement(); + bool hasRealizingElement() const; /// Defines the element that realizes a port connection relationship. - IfcElement* RealizingElement(); + IfcElement* RealizingElement() const; void setRealizingElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingPort"; case 5: return "RelatedPort"; case 6: return "RealizingElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsPorts (IfcAbstractEntityPtr e); + IfcRelConnectsPorts (IfcAbstractEntity* e); IfcRelConnectsPorts (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); - typedef IfcRelConnectsPorts* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsPorts >::it it; + 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. /// @@ -21820,43 +21070,39 @@ public: class IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. - IfcStructuralActivityAssignmentSelect RelatingElement(); + IfcStructuralActivityAssignmentSelect RelatingElement() const; void setRelatingElement(IfcStructuralActivityAssignmentSelect v); /// Reference to a structural activity which is acting upon the specified structural item or element. - IfcStructuralActivity* RelatedStructuralActivity(); + IfcStructuralActivity* RelatedStructuralActivity() const; void setRelatedStructuralActivity(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingElement"; case 5: return "RelatedStructuralActivity"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsStructuralActivity (IfcAbstractEntityPtr e); + IfcRelConnectsStructuralActivity (IfcAbstractEntity* e); IfcRelConnectsStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); - typedef IfcRelConnectsStructuralActivity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; }; class IfcRelConnectsStructuralElement : public IfcRelConnects { public: - IfcElement* RelatingElement(); + IfcElement* RelatingElement() const; void setRelatingElement(IfcElement* v); - IfcStructuralMember* RelatedStructuralMember(); + IfcStructuralMember* RelatedStructuralMember() const; void setRelatedStructuralMember(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingElement"; case 5: return "RelatedStructuralMember"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsStructuralElement (IfcAbstractEntityPtr e); + IfcRelConnectsStructuralElement (IfcAbstractEntity* e); IfcRelConnectsStructuralElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember); - typedef IfcRelConnectsStructuralElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralElement > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralElement >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsStructuralElement > list; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -21885,43 +21131,41 @@ public: class IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. - IfcStructuralMember* RelatingStructuralMember(); + IfcStructuralMember* RelatingStructuralMember() const; void setRelatingStructuralMember(IfcStructuralMember* v); /// Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member. - IfcStructuralConnection* RelatedStructuralConnection(); + IfcStructuralConnection* RelatedStructuralConnection() const; void setRelatedStructuralConnection(IfcStructuralConnection* v); /// Whether the optional attribute AppliedCondition is defined for this IfcRelConnectsStructuralMember - bool hasAppliedCondition(); + bool hasAppliedCondition() const; /// 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(); + IfcBoundaryCondition* AppliedCondition() const; void setAppliedCondition(IfcBoundaryCondition* v); /// Whether the optional attribute AdditionalConditions is defined for this IfcRelConnectsStructuralMember - bool hasAdditionalConditions(); + bool hasAdditionalConditions() const; /// Describes additional connection properties. - IfcStructuralConnectionCondition* AdditionalConditions(); + IfcStructuralConnectionCondition* AdditionalConditions() const; void setAdditionalConditions(IfcStructuralConnectionCondition* v); /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember - bool hasSupportedLength(); + bool hasSupportedLength() const; /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - IfcLengthMeasure SupportedLength(); + IfcLengthMeasure SupportedLength() const; void setSupportedLength(IfcLengthMeasure v); /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember - bool hasConditionCoordinateSystem(); + bool hasConditionCoordinateSystem() const; /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. - IfcAxis2Placement3D* ConditionCoordinateSystem(); + IfcAxis2Placement3D* ConditionCoordinateSystem() const; void setConditionCoordinateSystem(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingStructuralMember"; case 5: return "RelatedStructuralConnection"; case 6: return "AppliedCondition"; case 7: return "AdditionalConditions"; case 8: return "SupportedLength"; case 9: return "ConditionCoordinateSystem"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsStructuralMember (IfcAbstractEntityPtr e); + IfcRelConnectsStructuralMember (IfcAbstractEntity* e); IfcRelConnectsStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); - typedef IfcRelConnectsStructuralMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::it it; + 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). /// @@ -21943,20 +21187,18 @@ public: 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(); + IfcConnectionGeometry* ConnectionConstraint() const; void setConnectionConstraint(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "ConnectionConstraint"; } return IfcRelConnectsStructuralMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsWithEccentricity (IfcAbstractEntityPtr e); + IfcRelConnectsWithEccentricity (IfcAbstractEntity* e); IfcRelConnectsWithEccentricity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); - typedef IfcRelConnectsWithEccentricity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -21984,25 +21226,23 @@ public: class IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. - SHARED_PTR< IfcTemplatedEntityList< IfcElement > > RealizingElements(); - void setRealizingElements(SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v); + IfcTemplatedEntityList< IfcElement >::ptr RealizingElements() const; + void setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v); /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements - bool hasConnectionType(); + bool hasConnectionType() const; /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - IfcLabel ConnectionType(); + IfcLabel ConnectionType() const; void setConnectionType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnectsElements::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RealizingElements"; case 8: return "ConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsWithRealizingElements (IfcAbstractEntityPtr e); - IfcRelConnectsWithRealizingElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType); - typedef IfcRelConnectsWithRealizingElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements >::it it; + IfcRelConnectsWithRealizingElements (IfcAbstractEntity* e); + IfcRelConnectsWithRealizingElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType); + typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -22071,23 +21311,21 @@ public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > RelatedElements(); - void setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v); + IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; + void setRelatedElements(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(); + IfcSpatialStructureElement* RelatingStructure() const; void setRelatingStructure(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedElements"; case 5: return "RelatingStructure"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelContainedInSpatialStructure (IfcAbstractEntityPtr e); - IfcRelContainedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); - typedef IfcRelContainedInSpatialStructure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > list; - typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::it it; + IfcRelContainedInSpatialStructure (IfcAbstractEntity* e); + IfcRelContainedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); + typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > list; }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -22110,23 +21348,21 @@ public: /// Relationship to the building element that is covered. /// /// IFC2x4 CHANGE: The attribute type has been changed from IfcElement to IfcBuildingElement. - IfcElement* RelatingBuildingElement(); + IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(IfcElement* v); /// Relationship to the set of coverings at this element. - SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > RelatedCoverings(); - void setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v); + IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; + void setRelatedCoverings(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingBuildingElement"; case 5: return "RelatedCoverings"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelCoversBldgElements (IfcAbstractEntityPtr e); - IfcRelCoversBldgElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings); - typedef IfcRelCoversBldgElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > list; - typedef IfcTemplatedEntityList< IfcRelCoversBldgElements >::it it; + IfcRelCoversBldgElements (IfcAbstractEntity* e); + IfcRelCoversBldgElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + typedef IfcTemplatedEntityList< IfcRelCoversBldgElements > list; }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesÿa space object to one or @@ -22156,23 +21392,21 @@ public: /// IFC 2x Edition 3. class IfcRelCoversSpaces : public IfcRelConnects { public: - IfcSpace* RelatedSpace(); + IfcSpace* RelatedSpace() const; void setRelatedSpace(IfcSpace* v); /// Relationship to the set of coverings covering this space. - SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > RelatedCoverings(); - void setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v); + IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; + void setRelatedCoverings(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedSpace"; case 5: return "RelatedCoverings"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelCoversSpaces (IfcAbstractEntityPtr e); - IfcRelCoversSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatedSpace, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings); - typedef IfcRelCoversSpaces* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > list; - typedef IfcTemplatedEntityList< IfcRelCoversSpaces >::it it; + IfcRelCoversSpaces (IfcAbstractEntity* e); + IfcRelCoversSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatedSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + typedef IfcTemplatedEntityList< IfcRelCoversSpaces > list; }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -22206,22 +21440,20 @@ public: /// IFC2x4 CHANGE The differentiation between the aggregation and nesting is determined to be a non-ordered or an ordered collection of parts. The attributes RelatingObject and RelatedObjects have been demoted to the subtypes. class IfcRelDecomposes : public IfcRelationship { public: - IfcObjectDefinition* RelatingObject(); + IfcObjectDefinition* RelatingObject() const; void setRelatingObject(IfcObjectDefinition* v); - SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v); + IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingObject"; case 5: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDecomposes (IfcAbstractEntityPtr e); - IfcRelDecomposes (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects); - typedef IfcRelDecomposes* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > list; - typedef IfcTemplatedEntityList< IfcRelDecomposes >::it it; + IfcRelDecomposes (IfcAbstractEntity* e); + IfcRelDecomposes (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelDecomposes > list; }; /// A generic and abstract relationship which subtypes are used to: /// @@ -22252,20 +21484,18 @@ public: /// IfcRelDefinesByType. class IfcRelDefines : public IfcRelationship { public: - SHARED_PTR< IfcTemplatedEntityList< IfcObject > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v); + IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; + void setRelatedObjects(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefines (IfcAbstractEntityPtr e); - IfcRelDefines (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects); - typedef IfcRelDefines* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefines > > list; - typedef IfcTemplatedEntityList< IfcRelDefines >::it it; + IfcRelDefines (IfcAbstractEntity* e); + IfcRelDefines (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelDefines > list; }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -22285,20 +21515,18 @@ public: class IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the property set definition for that object or set of objects. - IfcPropertySetDefinition* RelatingPropertyDefinition(); + IfcPropertySetDefinition* RelatingPropertyDefinition() const; void setRelatingPropertyDefinition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingPropertyDefinition"; } return IfcRelDefines::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefinesByProperties (IfcAbstractEntityPtr e); - IfcRelDefinesByProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition); - typedef IfcRelDefinesByProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > list; - typedef IfcTemplatedEntityList< IfcRelDefinesByProperties >::it it; + IfcRelDefinesByProperties (IfcAbstractEntity* e); + IfcRelDefinesByProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition); + typedef IfcTemplatedEntityList< IfcRelDefinesByProperties > list; }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -22374,20 +21602,18 @@ public: class IfcRelDefinesByType : public IfcRelDefines { public: /// Reference to the type (or style) information for that object or set of objects. - IfcTypeObject* RelatingType(); + IfcTypeObject* RelatingType() const; void setRelatingType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingType"; } return IfcRelDefines::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefinesByType (IfcAbstractEntityPtr e); - IfcRelDefinesByType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcTypeObject* v6_RelatingType); - typedef IfcRelDefinesByType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > list; - typedef IfcTemplatedEntityList< IfcRelDefinesByType >::it it; + IfcRelDefinesByType (IfcAbstractEntity* e); + IfcRelDefinesByType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); + 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. /// @@ -22401,25 +21627,23 @@ public: class IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. - IfcOpeningElement* RelatingOpeningElement(); + IfcOpeningElement* RelatingOpeningElement() const; void setRelatingOpeningElement(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(); + IfcElement* RelatedBuildingElement() const; void setRelatedBuildingElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingOpeningElement"; case 5: return "RelatedBuildingElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelFillsElement (IfcAbstractEntityPtr e); + IfcRelFillsElement (IfcAbstractEntity* e); IfcRelFillsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); - typedef IfcRelFillsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > list; - typedef IfcTemplatedEntityList< IfcRelFillsElement >::it it; + 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. /// @@ -22431,55 +21655,51 @@ public: class IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. - SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > RelatedControlElements(); - void setRelatedControlElements(SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v); + IfcTemplatedEntityList< IfcDistributionControlElement >::ptr RelatedControlElements() const; + void setRelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v); /// Relationship to a distribution flow element - IfcDistributionFlowElement* RelatingFlowElement(); + IfcDistributionFlowElement* RelatingFlowElement() const; void setRelatingFlowElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedControlElements"; case 5: return "RelatingFlowElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelFlowControlElements (IfcAbstractEntityPtr e); - IfcRelFlowControlElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); - typedef IfcRelFlowControlElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > list; - typedef IfcTemplatedEntityList< IfcRelFlowControlElements >::it it; + IfcRelFlowControlElements (IfcAbstractEntity* e); + IfcRelFlowControlElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); + typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; }; class IfcRelInteractionRequirements : public IfcRelConnects { public: /// Whether the optional attribute DailyInteraction is defined for this IfcRelInteractionRequirements - bool hasDailyInteraction(); - IfcCountMeasure DailyInteraction(); + bool hasDailyInteraction() const; + IfcCountMeasure DailyInteraction() const; void setDailyInteraction(IfcCountMeasure v); /// Whether the optional attribute ImportanceRating is defined for this IfcRelInteractionRequirements - bool hasImportanceRating(); - IfcNormalisedRatioMeasure ImportanceRating(); + bool hasImportanceRating() const; + IfcNormalisedRatioMeasure ImportanceRating() const; void setImportanceRating(IfcNormalisedRatioMeasure v); /// Whether the optional attribute LocationOfInteraction is defined for this IfcRelInteractionRequirements - bool hasLocationOfInteraction(); - IfcSpatialStructureElement* LocationOfInteraction(); + bool hasLocationOfInteraction() const; + IfcSpatialStructureElement* LocationOfInteraction() const; void setLocationOfInteraction(IfcSpatialStructureElement* v); - IfcSpaceProgram* RelatedSpaceProgram(); + IfcSpaceProgram* RelatedSpaceProgram() const; void setRelatedSpaceProgram(IfcSpaceProgram* v); - IfcSpaceProgram* RelatingSpaceProgram(); + IfcSpaceProgram* RelatingSpaceProgram() const; void setRelatingSpaceProgram(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "DailyInteraction"; case 5: return "ImportanceRating"; case 6: return "LocationOfInteraction"; case 7: return "RelatedSpaceProgram"; case 8: return "RelatingSpaceProgram"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelInteractionRequirements (IfcAbstractEntityPtr e); + IfcRelInteractionRequirements (IfcAbstractEntity* e); IfcRelInteractionRequirements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcCountMeasure > v5_DailyInteraction, boost::optional< IfcNormalisedRatioMeasure > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram); - typedef IfcRelInteractionRequirements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelInteractionRequirements > > list; - typedef IfcTemplatedEntityList< IfcRelInteractionRequirements >::it it; + typedef IfcTemplatedEntityList< IfcRelInteractionRequirements > list; }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -22511,15 +21731,13 @@ public: virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelDecomposes::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelDecomposes::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelNests (IfcAbstractEntityPtr e); - IfcRelNests (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects); - typedef IfcRelNests* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelNests > > list; - typedef IfcTemplatedEntityList< IfcRelNests >::it it; + IfcRelNests (IfcAbstractEntity* e); + IfcRelNests (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelNests > list; }; class IfcRelOccupiesSpaces : public IfcRelAssignsToActor { @@ -22527,33 +21745,29 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelAssignsToActor::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelAssignsToActor::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelOccupiesSpaces (IfcAbstractEntityPtr e); - IfcRelOccupiesSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); - typedef IfcRelOccupiesSpaces* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelOccupiesSpaces > > list; - typedef IfcTemplatedEntityList< IfcRelOccupiesSpaces >::it it; + IfcRelOccupiesSpaces (IfcAbstractEntity* e); + IfcRelOccupiesSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + typedef IfcTemplatedEntityList< IfcRelOccupiesSpaces > list; }; class IfcRelOverridesProperties : public IfcRelDefinesByProperties { public: - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > OverridingProperties(); - void setOverridingProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr OverridingProperties() const; + void setOverridingProperties(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "OverridingProperties"; } return IfcRelDefinesByProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelOverridesProperties (IfcAbstractEntityPtr e); - IfcRelOverridesProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v7_OverridingProperties); - typedef IfcRelOverridesProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelOverridesProperties > > list; - typedef IfcTemplatedEntityList< IfcRelOverridesProperties >::it it; + IfcRelOverridesProperties (IfcAbstractEntity* e); + IfcRelOverridesProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, IfcTemplatedEntityList< IfcProperty >::ptr v7_OverridingProperties); + typedef IfcTemplatedEntityList< IfcRelOverridesProperties > list; }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -22590,23 +21804,21 @@ public: class IfcRelProjectsElement : public IfcRelConnects { public: /// Element at which a projection is created by the associated IfcProjectionElement. - IfcElement* RelatingElement(); + IfcElement* RelatingElement() const; void setRelatingElement(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(); + IfcFeatureElementAddition* RelatedFeatureElement() const; void setRelatedFeatureElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingElement"; case 5: return "RelatedFeatureElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelProjectsElement (IfcAbstractEntityPtr e); + IfcRelProjectsElement (IfcAbstractEntity* e); IfcRelProjectsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); - typedef IfcRelProjectsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > list; - typedef IfcTemplatedEntityList< IfcRelProjectsElement >::it it; + typedef IfcTemplatedEntityList< IfcRelProjectsElement > list; }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -22661,25 +21873,23 @@ class IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > RelatedElements(); - void setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v); + IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; + void setRelatedElements(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(); + IfcSpatialStructureElement* RelatingStructure() const; void setRelatingStructure(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedElements"; case 5: return "RelatingStructure"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelReferencedInSpatialStructure (IfcAbstractEntityPtr e); - IfcRelReferencedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); - typedef IfcRelReferencedInSpatialStructure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > list; - typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::it it; + IfcRelReferencedInSpatialStructure (IfcAbstractEntity* e); + IfcRelReferencedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); + typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; }; class IfcRelSchedulesCostItems : public IfcRelAssignsToControl { @@ -22687,15 +21897,13 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelAssignsToControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelAssignsToControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSchedulesCostItems (IfcAbstractEntityPtr e); - IfcRelSchedulesCostItems (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); - typedef IfcRelSchedulesCostItems* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSchedulesCostItems > > list; - typedef IfcTemplatedEntityList< IfcRelSchedulesCostItems >::it it; + IfcRelSchedulesCostItems (IfcAbstractEntity* e); + IfcRelSchedulesCostItems (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + typedef IfcTemplatedEntityList< IfcRelSchedulesCostItems > list; }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -22754,31 +21962,29 @@ public: class IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. - IfcProcess* RelatingProcess(); + IfcProcess* RelatingProcess() const; void setRelatingProcess(IfcProcess* v); /// Reference to the process, that is the successor. - IfcProcess* RelatedProcess(); + IfcProcess* RelatedProcess() const; void setRelatedProcess(IfcProcess* v); /// Time duration of the sequence, it is the time lag between the /// predecessor and the successor as specified by the /// SequenceType. - IfcTimeMeasure TimeLag(); + IfcTimeMeasure TimeLag() const; void setTimeLag(IfcTimeMeasure v); /// The way in which the time lag applies to the sequence. - IfcSequenceEnum::IfcSequenceEnum SequenceType(); + IfcSequenceEnum::IfcSequenceEnum SequenceType() const; void setSequenceType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingProcess"; case 5: return "RelatedProcess"; case 6: return "TimeLag"; case 7: return "SequenceType"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSequence (IfcAbstractEntityPtr e); + IfcRelSequence (IfcAbstractEntity* e); IfcRelSequence (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcTimeMeasure v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType); - typedef IfcRelSequence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > list; - typedef IfcTemplatedEntityList< IfcRelSequence >::it it; + typedef IfcTemplatedEntityList< IfcRelSequence > list; }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -22804,27 +22010,25 @@ public: class IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. - IfcSystem* RelatingSystem(); + IfcSystem* RelatingSystem() const; void setRelatingSystem(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. - SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > RelatedBuildings(); - void setRelatedBuildings(SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > v); + IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr RelatedBuildings() const; + void setRelatedBuildings(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingSystem"; case 5: return "RelatedBuildings"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelServicesBuildings (IfcAbstractEntityPtr e); - IfcRelServicesBuildings (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > v6_RelatedBuildings); - typedef IfcRelServicesBuildings* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > list; - typedef IfcTemplatedEntityList< IfcRelServicesBuildings >::it it; + IfcRelServicesBuildings (IfcAbstractEntity* e); + IfcRelServicesBuildings (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v6_RelatedBuildings); + typedef IfcTemplatedEntityList< IfcRelServicesBuildings > list; }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -22991,42 +22195,40 @@ public: class IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. - IfcSpace* RelatingSpace(); + IfcSpace* RelatingSpace() const; void setRelatingSpace(IfcSpace* v); /// Whether the optional attribute RelatedBuildingElement is defined for this IfcRelSpaceBoundary - bool hasRelatedBuildingElement(); + bool hasRelatedBuildingElement() const; /// 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(); + IfcElement* RelatedBuildingElement() const; void setRelatedBuildingElement(IfcElement* v); /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary - bool hasConnectionGeometry(); + bool hasConnectionGeometry() const; /// 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(); + IfcConnectionGeometry* ConnectionGeometry() const; void setConnectionGeometry(IfcConnectionGeometry* v); /// Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual). - IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary(); + IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary() const; void setPhysicalOrVirtualBoundary(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(); + IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InternalOrExternalBoundary() const; void setInternalOrExternalBoundary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingSpace"; case 5: return "RelatedBuildingElement"; case 6: return "ConnectionGeometry"; case 7: return "PhysicalOrVirtualBoundary"; case 8: return "InternalOrExternalBoundary"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSpaceBoundary (IfcAbstractEntityPtr e); + IfcRelSpaceBoundary (IfcAbstractEntity* e); IfcRelSpaceBoundary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); - typedef IfcRelSpaceBoundary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > list; - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary >::it it; + 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. /// @@ -23037,22 +22239,20 @@ public: /// HISTORY New entity in IFC Release 1.0 class IfcRelVoidsElement : public IfcRelConnects { public: - IfcElement* RelatingBuildingElement(); + IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(IfcElement* v); - IfcFeatureElementSubtraction* RelatedOpeningElement(); + IfcFeatureElementSubtraction* RelatedOpeningElement() const; void setRelatedOpeningElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingBuildingElement"; case 5: return "RelatedOpeningElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelVoidsElement (IfcAbstractEntityPtr e); + IfcRelVoidsElement (IfcAbstractEntity* e); IfcRelVoidsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); - typedef IfcRelVoidsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > list; - typedef IfcTemplatedEntityList< IfcRelVoidsElement >::it it; + typedef IfcTemplatedEntityList< IfcRelVoidsElement > list; }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -23072,16 +22272,14 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > ResourceOf(); // INVERSE IfcRelAssignsToResource::RelatingResource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcResource (IfcAbstractEntityPtr e); + IfcResource (IfcAbstractEntity* e); IfcResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcResource > > list; - typedef IfcTemplatedEntityList< IfcResource >::it it; + typedef IfcTemplatedEntityList< IfcResource > list; }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -23162,23 +22360,21 @@ public: class IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. - IfcAxis1Placement* Axis(); + IfcAxis1Placement* Axis() const; void setAxis(IfcAxis1Placement* v); /// The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. - IfcPlaneAngleMeasure Angle(); + IfcPlaneAngleMeasure Angle() const; void setAngle(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Axis"; case 3: return "Angle"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRevolvedAreaSolid (IfcAbstractEntityPtr e); + IfcRevolvedAreaSolid (IfcAbstractEntity* e); IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle); - typedef IfcRevolvedAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRevolvedAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid > list; }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -23248,23 +22444,21 @@ public: class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. - IfcPositiveLengthMeasure Height(); + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); /// The radius of the cone at the base. - IfcPositiveLengthMeasure BottomRadius(); + IfcPositiveLengthMeasure BottomRadius() const; void setBottomRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "BottomRadius"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRightCircularCone (IfcAbstractEntityPtr e); + IfcRightCircularCone (IfcAbstractEntity* e); IfcRightCircularCone (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius); - typedef IfcRightCircularCone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRightCircularCone > > list; - typedef IfcTemplatedEntityList< IfcRightCircularCone >::it it; + typedef IfcTemplatedEntityList< IfcRightCircularCone > list; }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -23350,23 +22544,21 @@ public: class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. - IfcPositiveLengthMeasure Height(); + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); /// The radius of the cylinder. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRightCircularCylinder (IfcAbstractEntityPtr e); + IfcRightCircularCylinder (IfcAbstractEntity* e); IfcRightCircularCylinder (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius); - typedef IfcRightCircularCylinder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRightCircularCylinder > > list; - typedef IfcTemplatedEntityList< IfcRightCircularCylinder >::it it; + typedef IfcTemplatedEntityList< IfcRightCircularCylinder > list; }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -23445,30 +22637,28 @@ public: class IfcSpatialStructureElement : public IfcProduct { public: /// Whether the optional attribute LongName is defined for this IfcSpatialStructureElement - bool hasLongName(); - IfcLabel LongName(); + bool hasLongName() const; + IfcLabel LongName() const; void setLongName(IfcLabel 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(); + IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType() const; void setCompositionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "LongName"; case 8: return "CompositionType"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > ReferencesElements(); // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure - SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > ServicedBySystems(); // INVERSE IfcRelServicesBuildings::RelatedBuildings - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainsElements(); // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure + IfcTemplatedEntityList< IfcRelServicesBuildings >::ptr ServicedBySystems() const; // INVERSE IfcRelServicesBuildings::RelatedBuildings + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainsElements() const; // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialStructureElement (IfcAbstractEntityPtr e); + IfcSpatialStructureElement (IfcAbstractEntity* e); IfcSpatialStructureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType); - typedef IfcSpatialStructureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > list; - typedef IfcTemplatedEntityList< IfcSpatialStructureElement >::it it; + typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -23509,15 +22699,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialStructureElementType (IfcAbstractEntityPtr e); - IfcSpatialStructureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcSpatialStructureElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElementType > > list; - typedef IfcTemplatedEntityList< IfcSpatialStructureElementType >::it it; + IfcSpatialStructureElementType (IfcAbstractEntity* e); + IfcSpatialStructureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcSpatialStructureElementType > list; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -23572,20 +22760,18 @@ public: class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSphere (IfcAbstractEntityPtr e); + IfcSphere (IfcAbstractEntity* e); IfcSphere (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius); - typedef IfcSphere* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSphere > > list; - typedef IfcTemplatedEntityList< IfcSphere >::it it; + typedef IfcTemplatedEntityList< IfcSphere > list; }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -23685,7 +22871,7 @@ public: /// Load or result resource object which defines the load type, direction, and load values. /// /// 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(); + IfcStructuralLoad* AppliedLoad() const; void setAppliedLoad(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) @@ -23704,21 +22890,19 @@ public: /// but as the analysis model specific shared coordinate system. In contrast, LOCAL_COORDS /// 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(); + IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal() const; void setGlobalOrLocal(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "AppliedLoad"; case 8: return "GlobalOrLocal"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > AssignedToStructuralItem(); // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralActivity (IfcAbstractEntityPtr e); + IfcStructuralActivity (IfcAbstractEntity* e); IfcStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); - typedef IfcStructuralActivity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralActivity > > list; - typedef IfcTemplatedEntityList< IfcStructuralActivity >::it it; + 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). /// @@ -23812,16 +22996,14 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > AssignedStructuralActivity(); // INVERSE IfcRelConnectsStructuralActivity::RelatingElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralItem (IfcAbstractEntityPtr e); + IfcStructuralItem (IfcAbstractEntity* e); IfcStructuralItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcStructuralItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralItem > > list; - typedef IfcTemplatedEntityList< IfcStructuralItem >::it it; + 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. /// @@ -23832,17 +23014,15 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralElement > > ReferencesElement(); // INVERSE IfcRelConnectsStructuralElement::RelatedStructuralMember - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > ConnectedBy(); // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralElement >::ptr ReferencesElement() const; // INVERSE IfcRelConnectsStructuralElement::RelatedStructuralMember + IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralMember (IfcAbstractEntityPtr e); + IfcStructuralMember (IfcAbstractEntity* e); IfcStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcStructuralMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralMember > > list; - typedef IfcTemplatedEntityList< IfcStructuralMember >::it it; + typedef IfcTemplatedEntityList< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -23869,16 +23049,14 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralActivity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralActivity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAction > > Causes(); // INVERSE IfcStructuralAction::CausedBy + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcStructuralAction >::ptr Causes() const; // INVERSE IfcStructuralAction::CausedBy bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralReaction (IfcAbstractEntityPtr e); + IfcStructuralReaction (IfcAbstractEntity* e); IfcStructuralReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); - typedef IfcStructuralReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralReaction > > list; - typedef IfcTemplatedEntityList< IfcStructuralReaction >::it it; + 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. /// @@ -23903,25 +23081,23 @@ public: class IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. - IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum PredefinedType(); + IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum PredefinedType() const; void setPredefinedType(IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v); /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember - bool hasThickness(); + bool hasThickness() const; /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - IfcPositiveLengthMeasure Thickness(); + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; } return IfcStructuralMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; case 8: return "Thickness"; } return IfcStructuralMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceMember (IfcAbstractEntityPtr e); + IfcStructuralSurfaceMember (IfcAbstractEntity* e); IfcStructuralSurfaceMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness); - typedef IfcStructuralSurfaceMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceMember > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember >::it it; + 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. /// @@ -23943,22 +23119,20 @@ public: /// In case of aggregation, instances of IfcStructuralSurfaceMemberVarying may have a topology representation which contains a single IfcConnectedFaceSet, based upon the faces of the parts. Otherwise, definitions at IfcStructuralSurfaceMember apply. class IfcStructuralSurfaceMemberVarying : public IfcStructuralSurfaceMember { public: - std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ SubsequentThickness(); + std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ SubsequentThickness() const; void setSubsequentThickness(std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v); - IfcShapeAspect* VaryingThicknessLocation(); + IfcShapeAspect* VaryingThicknessLocation() const; void setVaryingThicknessLocation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "SubsequentThickness"; case 10: return "VaryingThicknessLocation"; } return IfcStructuralSurfaceMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceMemberVarying (IfcAbstractEntityPtr e); + IfcStructuralSurfaceMemberVarying (IfcAbstractEntity* e); IfcStructuralSurfaceMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness, std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation); - typedef IfcStructuralSurfaceMemberVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying >::it it; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; }; class IfcStructuredDimensionCallout : public IfcDraughtingCallout { @@ -23966,15 +23140,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCallout::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDraughtingCallout::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuredDimensionCallout (IfcAbstractEntityPtr e); - IfcStructuredDimensionCallout (IfcEntities v1_Contents); - typedef IfcStructuredDimensionCallout* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuredDimensionCallout > > list; - typedef IfcTemplatedEntityList< IfcStructuredDimensionCallout >::it it; + IfcStructuredDimensionCallout (IfcAbstractEntity* e); + IfcStructuredDimensionCallout (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcStructuredDimensionCallout > list; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -24041,33 +23213,31 @@ public: 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(); + IfcCurve* Directrix() const; void setDirectrix(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. - IfcParameterValue StartParam(); + IfcParameterValue StartParam() const; void setStartParam(IfcParameterValue v); /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue EndParam(); + IfcParameterValue EndParam() const; void setEndParam(IfcParameterValue v); /// The surface containing the Directrix. - IfcSurface* ReferenceSurface(); + IfcSurface* ReferenceSurface() const; void setReferenceSurface(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Directrix"; case 3: return "StartParam"; case 4: return "EndParam"; case 5: return "ReferenceSurface"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntityPtr e); + IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntity* e); IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam, IfcSurface* v6_ReferenceSurface); - typedef IfcSurfaceCurveSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid >::it it; + 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): /// @@ -24085,23 +23255,21 @@ public: class IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. - IfcDirection* ExtrudedDirection(); + IfcDirection* ExtrudedDirection() const; void setExtrudedDirection(IfcDirection* v); /// The depth of the extrusion, it determines the parameterization. - IfcLengthMeasure Depth(); + IfcLengthMeasure Depth() const; void setDepth(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceOfLinearExtrusion (IfcAbstractEntityPtr e); + IfcSurfaceOfLinearExtrusion (IfcAbstractEntity* e); IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth); - typedef IfcSurfaceOfLinearExtrusion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > > list; - typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion >::it it; + 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. /// @@ -24123,20 +23291,18 @@ public: class IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. - IfcAxis1Placement* AxisPosition(); + IfcAxis1Placement* AxisPosition() const; void setAxisPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "AxisPosition"; } return IfcSweptSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceOfRevolution (IfcAbstractEntityPtr e); + IfcSurfaceOfRevolution (IfcAbstractEntity* e); IfcSurfaceOfRevolution (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_AxisPosition); - typedef IfcSurfaceOfRevolution* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceOfRevolution > > list; - typedef IfcTemplatedEntityList< IfcSurfaceOfRevolution >::it it; + 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: /// @@ -24173,15 +23339,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFurnishingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFurnishingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSystemFurnitureElementType (IfcAbstractEntityPtr e); - IfcSystemFurnitureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcSystemFurnitureElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystemFurnitureElementType > > list; - typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType >::it it; + IfcSystemFurnitureElementType (IfcAbstractEntity* e); + IfcSystemFurnitureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType > list; }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -24430,26 +23594,26 @@ public: /// track punch list items individually via IfcRelNests. class IfcTask : public IfcProcess { public: - IfcIdentifier TaskId(); + IfcIdentifier TaskId() const; void setTaskId(IfcIdentifier v); /// Whether the optional attribute Status is defined for this IfcTask - bool hasStatus(); + 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'. - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute WorkMethod is defined for this IfcTask - bool hasWorkMethod(); + bool hasWorkMethod() const; /// 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 - IfcLabel WorkMethod(); + IfcLabel WorkMethod() const; void setWorkMethod(IfcLabel v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). @@ -24458,26 +23622,24 @@ public: /// a milestone task may be understood to be a task having no /// duration. As such, it represents a singular point in /// time. - bool IsMilestone(); + bool IsMilestone() const; void setIsMilestone(bool v); /// Whether the optional attribute Priority is defined for this IfcTask - bool hasPriority(); + bool hasPriority() const; /// A value that indicates the relative priority of the task (in /// comparison to the priorities of other tasks). - int Priority(); + int Priority() const; void setPriority(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TaskId"; case 6: return "Status"; case 7: return "WorkMethod"; case 8: return "IsMilestone"; case 9: return "Priority"; } return IfcProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTask (IfcAbstractEntityPtr e); + IfcTask (IfcAbstractEntity* e); IfcTask (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority); - typedef IfcTask* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTask > > list; - typedef IfcTemplatedEntityList< IfcTask >::it it; + typedef IfcTemplatedEntityList< IfcTask > list; }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -24545,20 +23707,18 @@ public: 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(); + IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransportElementType (IfcAbstractEntityPtr e); - IfcTransportElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); - typedef IfcTransportElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransportElementType > > list; - typedef IfcTemplatedEntityList< IfcTransportElementType >::it it; + IfcTransportElementType (IfcAbstractEntity* e); + IfcTransportElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTransportElementType > list; }; /// The IfcActor defines all actors or human agents involved in a project during its full life cycle. It facilitates the use of person and organization definitions in the resource part of the IFC object model. This includes name, address, telecommunication addresses, and roles. /// @@ -24578,21 +23738,19 @@ public: class IfcActor : public IfcObject { public: /// Information about the actor. - IfcActorSelect TheActor(); + IfcActorSelect TheActor() const; void setTheActor(IfcActorSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheActor"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToActor > > IsActingUpon(); // INVERSE IfcRelAssignsToActor::RelatingActor + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToActor >::ptr IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActor (IfcAbstractEntityPtr e); + IfcActor (IfcAbstractEntity* e); IfcActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor); - typedef IfcActor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActor > > list; - typedef IfcTemplatedEntityList< IfcActor >::it it; + typedef IfcTemplatedEntityList< IfcActor > list; }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -24772,16 +23930,14 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotation (IfcAbstractEntityPtr e); + IfcAnnotation (IfcAbstractEntity* e); IfcAnnotation (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcAnnotation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotation > > list; - typedef IfcTemplatedEntityList< IfcAnnotation >::it it; + typedef IfcTemplatedEntityList< IfcAnnotation > list; }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -24823,34 +23979,32 @@ public: class IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { public: /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure TopFlangeWidth(); + IfcPositiveLengthMeasure TopFlangeWidth() const; void setTopFlangeWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeThickness(); + bool hasTopFlangeThickness() const; /// Flange thickness of the top flange of the I-shape. - IfcPositiveLengthMeasure TopFlangeThickness(); + IfcPositiveLengthMeasure TopFlangeThickness() const; void setTopFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeFilletRadius(); + bool hasTopFlangeFilletRadius() const; /// The fillet between the web and the top flange of the I-shape. - IfcPositiveLengthMeasure TopFlangeFilletRadius(); + IfcPositiveLengthMeasure TopFlangeFilletRadius() const; void setTopFlangeFilletRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcAsymmetricIShapeProfileDef - bool hasCentreOfGravityInY(); - IfcPositiveLengthMeasure CentreOfGravityInY(); + bool hasCentreOfGravityInY() const; + IfcPositiveLengthMeasure CentreOfGravityInY() const; void setCentreOfGravityInY(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcIShapeProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "TopFlangeWidth"; case 9: return "TopFlangeThickness"; case 10: return "TopFlangeFilletRadius"; case 11: return "CentreOfGravityInY"; } return IfcIShapeProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAsymmetricIShapeProfileDef (IfcAbstractEntityPtr e); + IfcAsymmetricIShapeProfileDef (IfcAbstractEntity* e); IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcPositiveLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY); - typedef IfcAsymmetricIShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > list; }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -24952,26 +24106,24 @@ public: class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength(); + IfcPositiveLengthMeasure XLength() const; void setXLength(IfcPositiveLengthMeasure v); /// The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength(); + IfcPositiveLengthMeasure YLength() const; void setYLength(IfcPositiveLengthMeasure v); /// The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. - IfcPositiveLengthMeasure ZLength(); + IfcPositiveLengthMeasure ZLength() const; void setZLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "ZLength"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBlock (IfcAbstractEntityPtr e); + IfcBlock (IfcAbstractEntity* e); IfcBlock (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength); - typedef IfcBlock* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBlock > > list; - typedef IfcTemplatedEntityList< IfcBlock >::it it; + typedef IfcTemplatedEntityList< IfcBlock > list; }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -24985,15 +24137,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBooleanResult::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBooleanResult::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBooleanClippingResult (IfcAbstractEntityPtr e); + IfcBooleanClippingResult (IfcAbstractEntity* e); IfcBooleanClippingResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); - typedef IfcBooleanClippingResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBooleanClippingResult > > list; - typedef IfcTemplatedEntityList< IfcBooleanClippingResult >::it it; + typedef IfcTemplatedEntityList< IfcBooleanClippingResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -25010,15 +24160,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundedCurve (IfcAbstractEntityPtr e); + IfcBoundedCurve (IfcAbstractEntity* e); IfcBoundedCurve (); - typedef IfcBoundedCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundedCurve > > list; - typedef IfcTemplatedEntityList< IfcBoundedCurve >::it it; + typedef IfcTemplatedEntityList< IfcBoundedCurve > list; }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -25198,32 +24346,30 @@ public: class IfcBuilding : public IfcSpatialStructureElement { public: /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding - bool hasElevationOfRefHeight(); + bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - IfcLengthMeasure ElevationOfRefHeight(); + IfcLengthMeasure ElevationOfRefHeight() const; void setElevationOfRefHeight(IfcLengthMeasure v); /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding - bool hasElevationOfTerrain(); + bool hasElevationOfTerrain() const; /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - IfcLengthMeasure ElevationOfTerrain(); + IfcLengthMeasure ElevationOfTerrain() const; void setElevationOfTerrain(IfcLengthMeasure v); /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding - bool hasBuildingAddress(); + bool hasBuildingAddress() const; /// Address given to the building for postal purposes. - IfcPostalAddress* BuildingAddress(); + IfcPostalAddress* BuildingAddress() const; void setBuildingAddress(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "ElevationOfRefHeight"; case 10: return "ElevationOfTerrain"; case 11: return "BuildingAddress"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuilding (IfcAbstractEntityPtr e); + IfcBuilding (IfcAbstractEntity* e); IfcBuilding (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); - typedef IfcBuilding* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuilding > > list; - typedef IfcTemplatedEntityList< IfcBuilding >::it it; + typedef IfcTemplatedEntityList< IfcBuilding > list; }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -25259,15 +24405,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementType (IfcAbstractEntityPtr e); - IfcBuildingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcBuildingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementType > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementType >::it it; + IfcBuildingElementType (IfcAbstractEntity* e); + IfcBuildingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcBuildingElementType > list; }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -25449,22 +24593,20 @@ public: class IfcBuildingStorey : public IfcSpatialStructureElement { public: /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey - bool hasElevation(); + bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - IfcLengthMeasure Elevation(); + IfcLengthMeasure Elevation() const; void setElevation(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Elevation"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingStorey (IfcAbstractEntityPtr e); + IfcBuildingStorey (IfcAbstractEntity* e); IfcBuildingStorey (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation); - typedef IfcBuildingStorey* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingStorey > > list; - typedef IfcTemplatedEntityList< IfcBuildingStorey >::it it; + typedef IfcTemplatedEntityList< IfcBuildingStorey > list; }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -25487,20 +24629,18 @@ public: class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. - IfcPositiveLengthMeasure WallThickness(); + IfcPositiveLengthMeasure WallThickness() const; void setWallThickness(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCircleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "WallThickness"; } return IfcCircleProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCircleHollowProfileDef (IfcAbstractEntityPtr e); + IfcCircleHollowProfileDef (IfcAbstractEntity* e); IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness); - typedef IfcCircleHollowProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircleHollowProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -25603,20 +24743,18 @@ public: class IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. - IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType(); + IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColumnType (IfcAbstractEntityPtr e); - IfcColumnType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); - typedef IfcColumnType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumnType > > list; - typedef IfcTemplatedEntityList< IfcColumnType >::it it; + IfcColumnType (IfcAbstractEntity* e); + IfcColumnType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcColumnType > list; }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -25687,23 +24825,21 @@ public: class IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. - SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > Segments(); - void setSegments(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v); + IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr Segments() const; + void setSegments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v); /// Indication of whether the curve intersects itself or not; this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Segments"; case 1: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeCurve (IfcAbstractEntityPtr e); - IfcCompositeCurve (SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect); - typedef IfcCompositeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurve > > list; - typedef IfcTemplatedEntityList< IfcCompositeCurve >::it it; + IfcCompositeCurve (IfcAbstractEntity* e); + IfcCompositeCurve (IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect); + typedef IfcTemplatedEntityList< IfcCompositeCurve > list; }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -25713,20 +24849,18 @@ public: class IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." - IfcAxis2Placement Position(); + IfcAxis2Placement Position() const; void setPosition(IfcAxis2Placement v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConic (IfcAbstractEntityPtr e); + IfcConic (IfcAbstractEntity* e); IfcConic (IfcAxis2Placement v1_Position); - typedef IfcConic* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConic > > list; - typedef IfcTemplatedEntityList< IfcConic >::it it; + typedef IfcTemplatedEntityList< IfcConic > list; }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -25803,34 +24937,32 @@ public: class IfcConstructionResource : public IfcResource { public: /// Whether the optional attribute ResourceIdentifier is defined for this IfcConstructionResource - bool hasResourceIdentifier(); - IfcIdentifier ResourceIdentifier(); + bool hasResourceIdentifier() const; + IfcIdentifier ResourceIdentifier() const; void setResourceIdentifier(IfcIdentifier v); /// Whether the optional attribute ResourceGroup is defined for this IfcConstructionResource - bool hasResourceGroup(); - IfcLabel ResourceGroup(); + bool hasResourceGroup() const; + IfcLabel ResourceGroup() const; void setResourceGroup(IfcLabel v); /// Whether the optional attribute ResourceConsumption is defined for this IfcConstructionResource - bool hasResourceConsumption(); + bool hasResourceConsumption() const; /// Indicates how the resource is consumed or occupied during its use in a process. Production-based consumption is indicated by CONSUMED, PARTIALLYCONSUMED, or NOTCONSUMED, where QuantityProduced refers to a quantity on the IfcProduct to which the assigned IfcProcess is assigned. Duration-based occupation is indicated by OCCUPIED, PARTIALLYOCCUPIED, or NOTOCCUPIED, where QuantityProduced refers to a quantity on the IfcProcess to which the resource is assigned. - IfcResourceConsumptionEnum::IfcResourceConsumptionEnum ResourceConsumption(); + IfcResourceConsumptionEnum::IfcResourceConsumptionEnum ResourceConsumption() const; void setResourceConsumption(IfcResourceConsumptionEnum::IfcResourceConsumptionEnum v); /// Whether the optional attribute BaseQuantity is defined for this IfcConstructionResource - bool hasBaseQuantity(); - IfcMeasureWithUnit* BaseQuantity(); + bool hasBaseQuantity() const; + IfcMeasureWithUnit* BaseQuantity() const; void setBaseQuantity(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ResourceIdentifier"; case 6: return "ResourceGroup"; case 7: return "ResourceConsumption"; case 8: return "BaseQuantity"; } return IfcResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionResource (IfcAbstractEntityPtr e); + IfcConstructionResource (IfcAbstractEntity* e); IfcConstructionResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); - typedef IfcConstructionResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionResource >::it it; + 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. /// @@ -25847,16 +24979,14 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToControl > > Controls(); // INVERSE IfcRelAssignsToControl::RelatingControl + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToControl >::ptr Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcControl (IfcAbstractEntityPtr e); + IfcControl (IfcAbstractEntity* e); IfcControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcControl > > list; - typedef IfcTemplatedEntityList< IfcControl >::it it; + 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. /// @@ -25899,15 +25029,13 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCostItem (IfcAbstractEntityPtr e); + IfcCostItem (IfcAbstractEntity* e); IfcCostItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcCostItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostItem > > list; - typedef IfcTemplatedEntityList< IfcCostItem >::it it; + 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. /// @@ -25935,22 +25063,22 @@ public: class IfcCostSchedule : public IfcControl { public: /// Whether the optional attribute SubmittedBy is defined for this IfcCostSchedule - bool hasSubmittedBy(); - IfcActorSelect SubmittedBy(); + bool hasSubmittedBy() const; + IfcActorSelect SubmittedBy() const; void setSubmittedBy(IfcActorSelect v); /// Whether the optional attribute PreparedBy is defined for this IfcCostSchedule - bool hasPreparedBy(); - IfcActorSelect PreparedBy(); + bool hasPreparedBy() const; + IfcActorSelect PreparedBy() const; void setPreparedBy(IfcActorSelect v); /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule - bool hasSubmittedOn(); + bool hasSubmittedOn() const; /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect SubmittedOn(); + IfcDateTimeSelect SubmittedOn() const; void setSubmittedOn(IfcDateTimeSelect v); /// Whether the optional attribute Status is defined for this IfcCostSchedule - bool hasStatus(); + bool hasStatus() const; /// The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: /// /// PLANNED @@ -25958,38 +25086,36 @@ public: /// AGREED /// ISSUED /// STARTED - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute TargetUsers is defined for this IfcCostSchedule - bool hasTargetUsers(); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > TargetUsers(); - void setTargetUsers(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + bool hasTargetUsers() const; + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr TargetUsers() const; + void setTargetUsers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule - bool hasUpdateDate(); + bool hasUpdateDate() const; /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect UpdateDate(); + IfcDateTimeSelect UpdateDate() const; void setUpdateDate(IfcDateTimeSelect v); - IfcIdentifier ID(); + IfcIdentifier ID() const; void setID(IfcIdentifier 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(); + IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "SubmittedBy"; case 6: return "PreparedBy"; case 7: return "SubmittedOn"; case 8: return "Status"; case 9: return "TargetUsers"; case 10: return "UpdateDate"; case 11: return "ID"; case 12: return "PredefinedType"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCostSchedule (IfcAbstractEntityPtr e); - IfcCostSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcActorSelect > v6_SubmittedBy, boost::optional< IfcActorSelect > v7_PreparedBy, boost::optional< IfcDateTimeSelect > v8_SubmittedOn, boost::optional< IfcLabel > v9_Status, boost::optional< IfcEntities > v10_TargetUsers, boost::optional< IfcDateTimeSelect > v11_UpdateDate, IfcIdentifier v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType); - typedef IfcCostSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostSchedule > > list; - typedef IfcTemplatedEntityList< IfcCostSchedule >::it it; + IfcCostSchedule (IfcAbstractEntity* e); + IfcCostSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcActorSelect > v6_SubmittedBy, boost::optional< IfcActorSelect > v7_PreparedBy, boost::optional< IfcDateTimeSelect > v8_SubmittedOn, boost::optional< IfcLabel > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, boost::optional< IfcDateTimeSelect > v11_UpdateDate, IfcIdentifier v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType); + typedef IfcTemplatedEntityList< IfcCostSchedule > list; }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -26073,20 +25199,18 @@ public: 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(); + IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoveringType (IfcAbstractEntityPtr e); - IfcCoveringType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); - typedef IfcCoveringType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoveringType > > list; - typedef IfcTemplatedEntityList< IfcCoveringType >::it it; + IfcCoveringType (IfcAbstractEntity* e); + IfcCoveringType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCoveringType > list; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -26103,15 +25227,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCrewResource (IfcAbstractEntityPtr e); + IfcCrewResource (IfcAbstractEntity* e); IfcCrewResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); - typedef IfcCrewResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCrewResource > > list; - typedef IfcTemplatedEntityList< IfcCrewResource >::it it; + typedef IfcTemplatedEntityList< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -26137,20 +25259,18 @@ public: 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(); + IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurtainWallType (IfcAbstractEntityPtr e); - IfcCurtainWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); - typedef IfcCurtainWallType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurtainWallType > > list; - typedef IfcTemplatedEntityList< IfcCurtainWallType >::it it; + IfcCurtainWallType (IfcAbstractEntity* e); + IfcCurtainWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCurtainWallType > list; }; class IfcDimensionCurveDirectedCallout : public IfcDraughtingCallout { @@ -26158,15 +25278,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDraughtingCallout::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDraughtingCallout::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionCurveDirectedCallout (IfcAbstractEntityPtr e); - IfcDimensionCurveDirectedCallout (IfcEntities v1_Contents); - typedef IfcDimensionCurveDirectedCallout* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionCurveDirectedCallout > > list; - typedef IfcTemplatedEntityList< IfcDimensionCurveDirectedCallout >::it it; + IfcDimensionCurveDirectedCallout (IfcAbstractEntity* e); + IfcDimensionCurveDirectedCallout (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcDimensionCurveDirectedCallout > list; }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -26201,15 +25319,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionElementType (IfcAbstractEntityPtr e); - IfcDistributionElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDistributionElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionElementType >::it it; + IfcDistributionElementType (IfcAbstractEntity* e); + IfcDistributionElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -26281,57 +25397,53 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionFlowElementType (IfcAbstractEntityPtr e); - IfcDistributionFlowElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDistributionFlowElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionFlowElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionFlowElementType >::it it; + IfcDistributionFlowElementType (IfcAbstractEntity* e); + IfcDistributionFlowElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; }; class IfcElectricalBaseProperties : public IfcEnergyProperties { public: /// Whether the optional attribute ElectricCurrentType is defined for this IfcElectricalBaseProperties - bool hasElectricCurrentType(); - IfcElectricCurrentEnum::IfcElectricCurrentEnum ElectricCurrentType(); + bool hasElectricCurrentType() const; + IfcElectricCurrentEnum::IfcElectricCurrentEnum ElectricCurrentType() const; void setElectricCurrentType(IfcElectricCurrentEnum::IfcElectricCurrentEnum v); - IfcElectricVoltageMeasure InputVoltage(); + IfcElectricVoltageMeasure InputVoltage() const; void setInputVoltage(IfcElectricVoltageMeasure v); - IfcFrequencyMeasure InputFrequency(); + IfcFrequencyMeasure InputFrequency() const; void setInputFrequency(IfcFrequencyMeasure v); /// Whether the optional attribute FullLoadCurrent is defined for this IfcElectricalBaseProperties - bool hasFullLoadCurrent(); - IfcElectricCurrentMeasure FullLoadCurrent(); + bool hasFullLoadCurrent() const; + IfcElectricCurrentMeasure FullLoadCurrent() const; void setFullLoadCurrent(IfcElectricCurrentMeasure v); /// Whether the optional attribute MinimumCircuitCurrent is defined for this IfcElectricalBaseProperties - bool hasMinimumCircuitCurrent(); - IfcElectricCurrentMeasure MinimumCircuitCurrent(); + bool hasMinimumCircuitCurrent() const; + IfcElectricCurrentMeasure MinimumCircuitCurrent() const; void setMinimumCircuitCurrent(IfcElectricCurrentMeasure v); /// Whether the optional attribute MaximumPowerInput is defined for this IfcElectricalBaseProperties - bool hasMaximumPowerInput(); - IfcPowerMeasure MaximumPowerInput(); + bool hasMaximumPowerInput() const; + IfcPowerMeasure MaximumPowerInput() const; void setMaximumPowerInput(IfcPowerMeasure v); /// Whether the optional attribute RatedPowerInput is defined for this IfcElectricalBaseProperties - bool hasRatedPowerInput(); - IfcPowerMeasure RatedPowerInput(); + bool hasRatedPowerInput() const; + IfcPowerMeasure RatedPowerInput() const; void setRatedPowerInput(IfcPowerMeasure v); - int InputPhase(); + int InputPhase() const; void setInputPhase(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ElectricCurrentType"; case 7: return "InputVoltage"; case 8: return "InputFrequency"; case 9: return "FullLoadCurrent"; case 10: return "MinimumCircuitCurrent"; case 11: return "MaximumPowerInput"; case 12: return "RatedPowerInput"; case 13: return "InputPhase"; } return IfcEnergyProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricalBaseProperties (IfcAbstractEntityPtr e); + IfcElectricalBaseProperties (IfcAbstractEntity* e); IfcElectricalBaseProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, IfcElectricVoltageMeasure v8_InputVoltage, IfcFrequencyMeasure v9_InputFrequency, boost::optional< IfcElectricCurrentMeasure > v10_FullLoadCurrent, boost::optional< IfcElectricCurrentMeasure > v11_MinimumCircuitCurrent, boost::optional< IfcPowerMeasure > v12_MaximumPowerInput, boost::optional< IfcPowerMeasure > v13_RatedPowerInput, int v14_InputPhase); - typedef IfcElectricalBaseProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricalBaseProperties > > list; - typedef IfcTemplatedEntityList< IfcElectricalBaseProperties >::it it; + typedef IfcTemplatedEntityList< IfcElectricalBaseProperties > list; }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -26389,34 +25501,32 @@ public: class IfcElement : public IfcProduct { public: /// Whether the optional attribute Tag is defined for this IfcElement - bool hasTag(); + bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcIdentifier Tag(); + IfcIdentifier Tag() const; void setTag(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Tag"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralElement > > HasStructuralMember(); // INVERSE IfcRelConnectsStructuralElement::RelatingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > FillsVoids(); // INVERSE IfcRelFillsElement::RelatedBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > ConnectedTo(); // INVERSE IfcRelConnectsElements::RelatingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > HasCoverings(); // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > HasProjections(); // INVERSE IfcRelProjectsElement::RelatingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > ReferencedInStructures(); // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > HasPorts(); // INVERSE IfcRelConnectsPortToElement::RelatedElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > HasOpenings(); // INVERSE IfcRelVoidsElement::RelatingBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > > IsConnectionRealization(); // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > ProvidesBoundaries(); // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > ConnectedFrom(); // INVERSE IfcRelConnectsElements::RelatedElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralElement >::ptr HasStructuralMember() const; // INVERSE IfcRelConnectsStructuralElement::RelatingElement + IfcTemplatedEntityList< IfcRelFillsElement >::ptr FillsVoids() const; // INVERSE IfcRelFillsElement::RelatedBuildingElement + IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsElements::RelatingElement + IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement + IfcTemplatedEntityList< IfcRelProjectsElement >::ptr HasProjections() const; // INVERSE IfcRelProjectsElement::RelatingElement + IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements + IfcTemplatedEntityList< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement + IfcTemplatedEntityList< IfcRelVoidsElement >::ptr HasOpenings() const; // INVERSE IfcRelVoidsElement::RelatingBuildingElement + IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements >::ptr IsConnectionRealization() const; // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements + IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr ProvidesBoundaries() const; // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement + IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsElements::RelatedElement + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElement (IfcAbstractEntityPtr e); + IfcElement (IfcAbstractEntity* e); IfcElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElement > > list; - typedef IfcTemplatedEntityList< IfcElement >::it it; + typedef IfcTemplatedEntityList< IfcElement > list; }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -26515,27 +25625,25 @@ public: class IfcElementAssembly : public IfcElement { public: /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly - bool hasAssemblyPlace(); + bool hasAssemblyPlace() const; /// A designation of where the assembly is intended to take place defined by an Enum. - IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace(); + IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; void setAssemblyPlace(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(); + IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "AssemblyPlace"; case 9: return "PredefinedType"; } return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementAssembly (IfcAbstractEntityPtr e); + IfcElementAssembly (IfcAbstractEntity* e); IfcElementAssembly (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); - typedef IfcElementAssembly* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementAssembly > > list; - typedef IfcTemplatedEntityList< IfcElementAssembly >::it it; + typedef IfcTemplatedEntityList< IfcElementAssembly > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -26619,15 +25727,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementComponent (IfcAbstractEntityPtr e); + IfcElementComponent (IfcAbstractEntity* e); IfcElementComponent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcElementComponent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementComponent > > list; - typedef IfcTemplatedEntityList< IfcElementComponent >::it it; + typedef IfcTemplatedEntityList< IfcElementComponent > list; }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -26643,15 +25749,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementComponentType (IfcAbstractEntityPtr e); - IfcElementComponentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcElementComponentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementComponentType > > list; - typedef IfcTemplatedEntityList< IfcElementComponentType >::it it; + IfcElementComponentType (IfcAbstractEntity* e); + IfcElementComponentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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: /// @@ -26683,23 +25787,21 @@ public: class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. - IfcPositiveLengthMeasure SemiAxis1(); + IfcPositiveLengthMeasure SemiAxis1() const; void setSemiAxis1(IfcPositiveLengthMeasure v); /// The second radius of the ellipse which shall be positive. - IfcPositiveLengthMeasure SemiAxis2(); + IfcPositiveLengthMeasure SemiAxis2() const; void setSemiAxis2(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SemiAxis1"; case 2: return "SemiAxis2"; } return IfcConic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEllipse (IfcAbstractEntityPtr e); + IfcEllipse (IfcAbstractEntity* e); IfcEllipse (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2); - typedef IfcEllipse* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEllipse > > list; - typedef IfcTemplatedEntityList< IfcEllipse >::it it; + typedef IfcTemplatedEntityList< IfcEllipse > list; }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -26731,15 +25833,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEnergyConversionDeviceType (IfcAbstractEntityPtr e); - IfcEnergyConversionDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcEnergyConversionDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyConversionDeviceType > > list; - typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType >::it it; + IfcEnergyConversionDeviceType (IfcAbstractEntity* e); + IfcEnergyConversionDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType > list; }; class IfcEquipmentElement : public IfcElement { @@ -26747,15 +25847,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEquipmentElement (IfcAbstractEntityPtr e); + IfcEquipmentElement (IfcAbstractEntity* e); IfcEquipmentElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcEquipmentElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEquipmentElement > > list; - typedef IfcTemplatedEntityList< IfcEquipmentElement >::it it; + typedef IfcTemplatedEntityList< IfcEquipmentElement > list; }; class IfcEquipmentStandard : public IfcControl { @@ -26763,15 +25861,13 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEquipmentStandard (IfcAbstractEntityPtr e); + IfcEquipmentStandard (IfcAbstractEntity* e); IfcEquipmentStandard (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcEquipmentStandard* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEquipmentStandard > > list; - typedef IfcTemplatedEntityList< IfcEquipmentStandard >::it it; + typedef IfcTemplatedEntityList< IfcEquipmentStandard > list; }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: /// @@ -26802,20 +25898,18 @@ public: class IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. - IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType(); + IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvaporativeCoolerType (IfcAbstractEntityPtr e); - IfcEvaporativeCoolerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); - typedef IfcEvaporativeCoolerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporativeCoolerType > > list; - typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType >::it it; + IfcEvaporativeCoolerType (IfcAbstractEntity* e); + IfcEvaporativeCoolerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); + 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: /// @@ -26846,20 +25940,18 @@ public: class IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. - IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType(); + IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvaporatorType (IfcAbstractEntityPtr e); - IfcEvaporatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); - typedef IfcEvaporatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporatorType > > list; - typedef IfcTemplatedEntityList< IfcEvaporatorType >::it it; + IfcEvaporatorType (IfcAbstractEntity* e); + IfcEvaporatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcEvaporatorType > list; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -26890,15 +25982,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFacetedBrep (IfcAbstractEntityPtr e); + IfcFacetedBrep (IfcAbstractEntity* e); IfcFacetedBrep (IfcClosedShell* v1_Outer); - typedef IfcFacetedBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFacetedBrep > > list; - typedef IfcTemplatedEntityList< IfcFacetedBrep >::it it; + typedef IfcTemplatedEntityList< IfcFacetedBrep > list; }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -26927,20 +26017,18 @@ public: class IfcFacetedBrepWithVoids : public IfcManifoldSolidBrep { public: /// Set of closed shells defining voids within the solid. - SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > Voids(); - void setVoids(SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v); + IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; + void setVoids(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Voids"; } return IfcManifoldSolidBrep::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFacetedBrepWithVoids (IfcAbstractEntityPtr e); - IfcFacetedBrepWithVoids (IfcClosedShell* v1_Outer, SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v2_Voids); - typedef IfcFacetedBrepWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFacetedBrepWithVoids > > list; - typedef IfcTemplatedEntityList< IfcFacetedBrepWithVoids >::it it; + IfcFacetedBrepWithVoids (IfcAbstractEntity* e); + IfcFacetedBrepWithVoids (IfcClosedShell* v1_Outer, IfcTemplatedEntityList< IfcClosedShell >::ptr v2_Voids); + typedef IfcTemplatedEntityList< IfcFacetedBrepWithVoids > list; }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -26955,15 +26043,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFastener (IfcAbstractEntityPtr e); + IfcFastener (IfcAbstractEntity* e); IfcFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFastener* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFastener > > list; - typedef IfcTemplatedEntityList< IfcFastener >::it it; + typedef IfcTemplatedEntityList< IfcFastener > list; }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -26993,15 +26079,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponentType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFastenerType (IfcAbstractEntityPtr e); - IfcFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFastenerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFastenerType > > list; - typedef IfcTemplatedEntityList< IfcFastenerType >::it it; + IfcFastenerType (IfcAbstractEntity* e); + IfcFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFastenerType > list; }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -27102,15 +26186,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFeatureElement (IfcAbstractEntityPtr e); + IfcFeatureElement (IfcAbstractEntity* e); IfcFeatureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFeatureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElement > > list; - typedef IfcTemplatedEntityList< IfcFeatureElement >::it it; + typedef IfcTemplatedEntityList< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -27172,16 +26254,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > ProjectsElements(); // INVERSE IfcRelProjectsElement::RelatedFeatureElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFeatureElementAddition (IfcAbstractEntityPtr e); + IfcFeatureElementAddition (IfcAbstractEntity* e); IfcFeatureElementAddition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFeatureElementAddition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElementAddition > > list; - typedef IfcTemplatedEntityList< IfcFeatureElementAddition >::it it; + typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -27238,16 +26318,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > VoidsElements(); // INVERSE IfcRelVoidsElement::RelatedOpeningElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFeatureElementSubtraction (IfcAbstractEntityPtr e); + IfcFeatureElementSubtraction (IfcAbstractEntity* e); IfcFeatureElementSubtraction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFeatureElementSubtraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElementSubtraction > > list; - typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction >::it it; + typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -27278,15 +26356,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowControllerType (IfcAbstractEntityPtr e); - IfcFlowControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowControllerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowControllerType > > list; - typedef IfcTemplatedEntityList< IfcFlowControllerType >::it it; + IfcFlowControllerType (IfcAbstractEntity* e); + IfcFlowControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFlowControllerType > list; }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -27318,15 +26394,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowFittingType (IfcAbstractEntityPtr e); - IfcFlowFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowFittingType > > list; - typedef IfcTemplatedEntityList< IfcFlowFittingType >::it it; + IfcFlowFittingType (IfcAbstractEntity* e); + IfcFlowFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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: /// @@ -27363,20 +26437,18 @@ public: class IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. - IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType(); + IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMeterType (IfcAbstractEntityPtr e); - IfcFlowMeterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); - typedef IfcFlowMeterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMeterType > > list; - typedef IfcTemplatedEntityList< IfcFlowMeterType >::it it; + IfcFlowMeterType (IfcAbstractEntity* e); + IfcFlowMeterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFlowMeterType > list; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -27406,15 +26478,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMovingDeviceType (IfcAbstractEntityPtr e); - IfcFlowMovingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowMovingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMovingDeviceType > > list; - typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType >::it it; + IfcFlowMovingDeviceType (IfcAbstractEntity* e); + IfcFlowMovingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType > list; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -27453,15 +26523,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowSegmentType (IfcAbstractEntityPtr e); - IfcFlowSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowSegmentType > > list; - typedef IfcTemplatedEntityList< IfcFlowSegmentType >::it it; + IfcFlowSegmentType (IfcAbstractEntity* e); + IfcFlowSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -27475,15 +26543,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowStorageDeviceType (IfcAbstractEntityPtr e); - IfcFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowStorageDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowStorageDeviceType > > list; - typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType >::it it; + IfcFlowStorageDeviceType (IfcAbstractEntity* e); + IfcFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -27497,15 +26563,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTerminalType (IfcAbstractEntityPtr e); - IfcFlowTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTerminalType > > list; - typedef IfcTemplatedEntityList< IfcFlowTerminalType >::it it; + IfcFlowTerminalType (IfcAbstractEntity* e); + IfcFlowTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -27521,15 +26585,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTreatmentDeviceType (IfcAbstractEntityPtr e); - IfcFlowTreatmentDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowTreatmentDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > > list; - typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType >::it it; + IfcFlowTreatmentDeviceType (IfcAbstractEntity* e); + IfcFlowTreatmentDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > list; }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -27640,15 +26702,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnishingElement (IfcAbstractEntityPtr e); + IfcFurnishingElement (IfcAbstractEntity* e); IfcFurnishingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFurnishingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnishingElement > > list; - typedef IfcTemplatedEntityList< IfcFurnishingElement >::it it; + typedef IfcTemplatedEntityList< IfcFurnishingElement > list; }; class IfcFurnitureStandard : public IfcControl { @@ -27656,33 +26716,29 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnitureStandard (IfcAbstractEntityPtr e); + IfcFurnitureStandard (IfcAbstractEntity* e); IfcFurnitureStandard (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcFurnitureStandard* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnitureStandard > > list; - typedef IfcTemplatedEntityList< IfcFurnitureStandard >::it it; + typedef IfcTemplatedEntityList< IfcFurnitureStandard > list; }; class IfcGasTerminalType : public IfcFlowTerminalType { public: - IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum PredefinedType(); + IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGasTerminalType (IfcAbstractEntityPtr e); - IfcGasTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType); - typedef IfcGasTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGasTerminalType > > list; - typedef IfcTemplatedEntityList< IfcGasTerminalType >::it it; + IfcGasTerminalType (IfcAbstractEntity* e); + IfcGasTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcGasTerminalType > list; }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -27783,29 +26839,27 @@ public: class IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > UAxes(); - void setUAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr UAxes() const; + void setUAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// List of grid axes defining the second row of grid lines. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > VAxes(); - void setVAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr VAxes() const; + void setVAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Whether the optional attribute WAxes is defined for this IfcGrid - bool hasWAxes(); + bool hasWAxes() const; /// List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > WAxes(); - void setWAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr WAxes() const; + void setWAxes(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "UAxes"; case 8: return "VAxes"; case 9: return "WAxes"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGrid (IfcAbstractEntityPtr e); - IfcGrid (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v8_UAxes, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v9_VAxes, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > > v10_WAxes); - typedef IfcGrid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > list; - typedef IfcTemplatedEntityList< IfcGrid >::it it; + IfcGrid (IfcAbstractEntity* e); + IfcGrid (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes); + 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. /// @@ -27842,16 +26896,14 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroup > > IsGroupedBy(); // INVERSE IfcRelAssignsToGroup::RelatingGroup + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGroup (IfcAbstractEntityPtr e); + IfcGroup (IfcAbstractEntity* e); IfcGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGroup > > list; - typedef IfcTemplatedEntityList< IfcGroup >::it it; + 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: /// @@ -27885,20 +26937,18 @@ public: class IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). - IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType(); + IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHeatExchangerType (IfcAbstractEntityPtr e); - IfcHeatExchangerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); - typedef IfcHeatExchangerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHeatExchangerType > > list; - typedef IfcTemplatedEntityList< IfcHeatExchangerType >::it it; + IfcHeatExchangerType (IfcAbstractEntity* e); + IfcHeatExchangerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); + 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: /// @@ -27929,20 +26979,18 @@ public: class IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. - IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType(); + IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHumidifierType (IfcAbstractEntityPtr e); - IfcHumidifierType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); - typedef IfcHumidifierType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHumidifierType > > list; - typedef IfcTemplatedEntityList< IfcHumidifierType >::it it; + IfcHumidifierType (IfcAbstractEntity* e); + IfcHumidifierType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; /// An inventory is a list of items within an enterprise. /// @@ -27957,41 +27005,39 @@ public: /// IfcSpace: Spaces included in the inventory. class IfcInventory : public IfcGroup { public: - IfcInventoryTypeEnum::IfcInventoryTypeEnum InventoryType(); + IfcInventoryTypeEnum::IfcInventoryTypeEnum InventoryType() const; void setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); /// The organizational unit to which the inventory is applicable. - IfcActorSelect Jurisdiction(); + IfcActorSelect Jurisdiction() const; void setJurisdiction(IfcActorSelect v); /// Persons who are responsible for the inventory. - SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > ResponsiblePersons(); - void setResponsiblePersons(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v); + IfcTemplatedEntityList< IfcPerson >::ptr ResponsiblePersons() const; + void setResponsiblePersons(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(); + IfcCalendarDate* LastUpdateDate() const; void setLastUpdateDate(IfcCalendarDate* v); /// Whether the optional attribute CurrentValue is defined for this IfcInventory - bool hasCurrentValue(); + bool hasCurrentValue() const; /// An estimate of the current cost value of the inventory. - IfcCostValue* CurrentValue(); + IfcCostValue* CurrentValue() const; void setCurrentValue(IfcCostValue* v); /// Whether the optional attribute OriginalValue is defined for this IfcInventory - bool hasOriginalValue(); + bool hasOriginalValue() const; /// An estimate of the original cost value of the inventory. - IfcCostValue* OriginalValue(); + IfcCostValue* OriginalValue() const; void setOriginalValue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "InventoryType"; case 6: return "Jurisdiction"; case 7: return "ResponsiblePersons"; case 8: return "LastUpdateDate"; case 9: return "CurrentValue"; case 10: return "OriginalValue"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcInventory (IfcAbstractEntityPtr e); - IfcInventory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect v7_Jurisdiction, SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); - typedef IfcInventory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcInventory > > list; - typedef IfcTemplatedEntityList< IfcInventory >::it it; + IfcInventory (IfcAbstractEntity* e); + IfcInventory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); + 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: /// @@ -28023,20 +27069,18 @@ public: class IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. - IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType(); + IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcJunctionBoxType (IfcAbstractEntityPtr e); - IfcJunctionBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); - typedef IfcJunctionBoxType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcJunctionBoxType > > list; - typedef IfcTemplatedEntityList< IfcJunctionBoxType >::it it; + IfcJunctionBoxType (IfcAbstractEntity* e); + IfcJunctionBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); + 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. /// @@ -28065,21 +27109,19 @@ public: class IfcLaborResource : public IfcConstructionResource { public: /// Whether the optional attribute SkillSet is defined for this IfcLaborResource - bool hasSkillSet(); - IfcText SkillSet(); + bool hasSkillSet() const; + IfcText SkillSet() const; void setSkillSet(IfcText v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_STRING; } return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "SkillSet"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLaborResource (IfcAbstractEntityPtr e); + IfcLaborResource (IfcAbstractEntity* e); IfcLaborResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcText > v10_SkillSet); - typedef IfcLaborResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLaborResource > > list; - typedef IfcTemplatedEntityList< IfcLaborResource >::it it; + typedef IfcTemplatedEntityList< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -28113,20 +27155,18 @@ public: class IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. - IfcLampTypeEnum::IfcLampTypeEnum PredefinedType(); + IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLampType (IfcAbstractEntityPtr e); - IfcLampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); - typedef IfcLampType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLampType > > list; - typedef IfcTemplatedEntityList< IfcLampType >::it it; + IfcLampType (IfcAbstractEntity* e); + IfcLampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); + 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: /// @@ -28162,20 +27202,18 @@ public: class IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. - IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType(); + IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightFixtureType (IfcAbstractEntityPtr e); - IfcLightFixtureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); - typedef IfcLightFixtureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightFixtureType > > list; - typedef IfcTemplatedEntityList< IfcLightFixtureType >::it it; + IfcLightFixtureType (IfcAbstractEntity* e); + IfcLightFixtureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcLightFixtureType > list; }; class IfcLinearDimension : public IfcDimensionCurveDirectedCallout { @@ -28183,15 +27221,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLinearDimension (IfcAbstractEntityPtr e); - IfcLinearDimension (IfcEntities v1_Contents); - typedef IfcLinearDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLinearDimension > > list; - typedef IfcTemplatedEntityList< IfcLinearDimension >::it it; + IfcLinearDimension (IfcAbstractEntity* e); + IfcLinearDimension (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcLinearDimension > list; }; /// Definition from IAI: Fasteners connecting building elements mechanically. A single instance of this class may represent one or many of actual mechanical fasteners, for example an array of bolts or a row of nails. /// @@ -28225,25 +27261,23 @@ public: class IfcMechanicalFastener : public IfcFastener { public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener - bool hasNominalDiameter(); - IfcPositiveLengthMeasure NominalDiameter(); + bool hasNominalDiameter() const; + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener - bool hasNominalLength(); - IfcPositiveLengthMeasure NominalLength(); + bool hasNominalLength() const; + IfcPositiveLengthMeasure NominalLength() const; void setNominalLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcFastener::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NominalDiameter"; case 9: return "NominalLength"; } return IfcFastener::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalFastener (IfcAbstractEntityPtr e); + IfcMechanicalFastener (IfcAbstractEntity* e); IfcMechanicalFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength); - typedef IfcMechanicalFastener* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalFastener > > list; - typedef IfcTemplatedEntityList< IfcMechanicalFastener >::it it; + 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). /// @@ -28285,15 +27319,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFastenerType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFastenerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalFastenerType (IfcAbstractEntityPtr e); - IfcMechanicalFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcMechanicalFastenerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalFastenerType > > list; - typedef IfcTemplatedEntityList< IfcMechanicalFastenerType >::it it; + IfcMechanicalFastenerType (IfcAbstractEntity* e); + IfcMechanicalFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcMechanicalFastenerType > list; }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -28399,20 +27431,18 @@ public: 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(); + IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMemberType (IfcAbstractEntityPtr e); - IfcMemberType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); - typedef IfcMemberType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMemberType > > list; - typedef IfcTemplatedEntityList< IfcMemberType >::it it; + IfcMemberType (IfcAbstractEntity* e); + IfcMemberType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); + 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: /// @@ -28444,44 +27474,40 @@ public: class IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. - IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType(); + IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMotorConnectionType (IfcAbstractEntityPtr e); - IfcMotorConnectionType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); - typedef IfcMotorConnectionType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMotorConnectionType > > list; - typedef IfcTemplatedEntityList< IfcMotorConnectionType >::it it; + IfcMotorConnectionType (IfcAbstractEntity* e); + IfcMotorConnectionType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; }; class IfcMove : public IfcTask { public: - IfcSpatialStructureElement* MoveFrom(); + IfcSpatialStructureElement* MoveFrom() const; void setMoveFrom(IfcSpatialStructureElement* v); - IfcSpatialStructureElement* MoveTo(); + IfcSpatialStructureElement* MoveTo() const; void setMoveTo(IfcSpatialStructureElement* v); /// Whether the optional attribute PunchList is defined for this IfcMove - bool hasPunchList(); - std::vector< IfcText > /*[1:?]*/ PunchList(); + bool hasPunchList() const; + std::vector< IfcText > /*[1:?]*/ PunchList() const; void setPunchList(std::vector< IfcText > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_VECTOR_STRING; } return IfcTask::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "MoveFrom"; case 11: return "MoveTo"; case 12: return "PunchList"; } return IfcTask::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMove (IfcAbstractEntityPtr e); + IfcMove (IfcAbstractEntity* e); IfcMove (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< IfcText > /*[1:?]*/ > v13_PunchList); - typedef IfcMove* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMove > > list; - typedef IfcTemplatedEntityList< IfcMove >::it it; + typedef IfcTemplatedEntityList< IfcMove > list; }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -28495,20 +27521,18 @@ public: /// Predefined occupant types from which that required may be set. /// /// IFC2x4 CHANGE Attribute made optional. - IfcOccupantTypeEnum::IfcOccupantTypeEnum PredefinedType(); + IfcOccupantTypeEnum::IfcOccupantTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; } return IfcActor::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOccupant (IfcAbstractEntityPtr e); + IfcOccupant (IfcAbstractEntity* e); IfcOccupant (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType); - typedef IfcOccupant* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOccupant > > list; - typedef IfcTemplatedEntityList< IfcOccupant >::it it; + typedef IfcTemplatedEntityList< IfcOccupant > list; }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -28717,34 +27741,30 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElementSubtraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElementSubtraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > HasFillings(); // INVERSE IfcRelFillsElement::RelatingOpeningElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFillsElement >::ptr HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOpeningElement (IfcAbstractEntityPtr e); + IfcOpeningElement (IfcAbstractEntity* e); IfcOpeningElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcOpeningElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpeningElement > > list; - typedef IfcTemplatedEntityList< IfcOpeningElement >::it it; + typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; class IfcOrderAction : public IfcTask { public: - IfcIdentifier ActionID(); + IfcIdentifier ActionID() const; void setActionID(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_STRING; } return IfcTask::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "ActionID"; } return IfcTask::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrderAction (IfcAbstractEntityPtr e); + IfcOrderAction (IfcAbstractEntity* e); IfcOrderAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcIdentifier v11_ActionID); - typedef IfcOrderAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrderAction > > list; - typedef IfcTemplatedEntityList< IfcOrderAction >::it it; + typedef IfcTemplatedEntityList< IfcOrderAction > list; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -28778,20 +27798,18 @@ public: class IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. - IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType(); + IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOutletType (IfcAbstractEntityPtr e); - IfcOutletType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); - typedef IfcOutletType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOutletType > > list; - typedef IfcTemplatedEntityList< IfcOutletType >::it it; + IfcOutletType (IfcAbstractEntity* e); + IfcOutletType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); + 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. /// @@ -28801,20 +27819,18 @@ public: class IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. - IfcLabel LifeCyclePhase(); + IfcLabel LifeCyclePhase() const; void setLifeCyclePhase(IfcLabel v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "LifeCyclePhase"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPerformanceHistory (IfcAbstractEntityPtr e); + IfcPerformanceHistory (IfcAbstractEntity* e); IfcPerformanceHistory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLabel v6_LifeCyclePhase); - typedef IfcPerformanceHistory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPerformanceHistory > > list; - typedef IfcTemplatedEntityList< IfcPerformanceHistory >::it it; + typedef IfcTemplatedEntityList< IfcPerformanceHistory > list; }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. /// @@ -28855,20 +27871,18 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcPermit : public IfcControl { public: - IfcIdentifier PermitID(); + IfcIdentifier PermitID() const; void setPermitID(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PermitID"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPermit (IfcAbstractEntityPtr e); + IfcPermit (IfcAbstractEntity* e); IfcPermit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_PermitID); - typedef IfcPermit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPermit > > list; - typedef IfcTemplatedEntityList< IfcPermit >::it it; + typedef IfcTemplatedEntityList< IfcPermit > list; }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: /// @@ -28902,20 +27916,18 @@ public: class IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. - IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType(); + IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPipeFittingType (IfcAbstractEntityPtr e); - IfcPipeFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); - typedef IfcPipeFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeFittingType > > list; - typedef IfcTemplatedEntityList< IfcPipeFittingType >::it it; + IfcPipeFittingType (IfcAbstractEntity* e); + IfcPipeFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); + 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: /// @@ -28953,20 +27965,18 @@ public: class IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. - IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType(); + IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPipeSegmentType (IfcAbstractEntityPtr e); - IfcPipeSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); - typedef IfcPipeSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeSegmentType > > list; - typedef IfcTemplatedEntityList< IfcPipeSegmentType >::it it; + IfcPipeSegmentType (IfcAbstractEntity* e); + IfcPipeSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcPipeSegmentType > list; }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -29048,20 +28058,18 @@ public: 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(); + IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlateType (IfcAbstractEntityPtr e); - IfcPlateType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); - typedef IfcPlateType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlateType > > list; - typedef IfcTemplatedEntityList< IfcPlateType >::it it; + IfcPlateType (IfcAbstractEntity* e); + IfcPlateType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcPlateType > list; }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -29080,20 +28088,18 @@ public: class IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > Points(); - void setPoints(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr Points() const; + void setPoints(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Points"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPolyline (IfcAbstractEntityPtr e); - IfcPolyline (SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Points); - typedef IfcPolyline* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolyline > > list; - typedef IfcTemplatedEntityList< IfcPolyline >::it it; + IfcPolyline (IfcAbstractEntity* e); + IfcPolyline (IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Points); + typedef IfcTemplatedEntityList< IfcPolyline > list; }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -29153,18 +28159,16 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > ContainedIn(); // INVERSE IfcRelConnectsPortToElement::RelatingPort - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > ConnectedFrom(); // INVERSE IfcRelConnectsPorts::RelatedPort - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > ConnectedTo(); // INVERSE IfcRelConnectsPorts::RelatingPort + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort + IfcTemplatedEntityList< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort + IfcTemplatedEntityList< IfcRelConnectsPorts >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPort (IfcAbstractEntityPtr e); + IfcPort (IfcAbstractEntity* e); IfcPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcPort* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPort > > list; - typedef IfcTemplatedEntityList< IfcPort >::it it; + typedef IfcTemplatedEntityList< IfcPort > list; }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -29272,26 +28276,24 @@ public: /// Figure 12 — Procedure relationships class IfcProcedure : public IfcProcess { public: - IfcIdentifier ProcedureID(); + IfcIdentifier ProcedureID() const; void setProcedureID(IfcIdentifier v); - IfcProcedureTypeEnum::IfcProcedureTypeEnum ProcedureType(); + IfcProcedureTypeEnum::IfcProcedureTypeEnum ProcedureType() const; void setProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); /// Whether the optional attribute UserDefinedProcedureType is defined for this IfcProcedure - bool hasUserDefinedProcedureType(); - IfcLabel UserDefinedProcedureType(); + bool hasUserDefinedProcedureType() const; + IfcLabel UserDefinedProcedureType() const; void setUserDefinedProcedureType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; } return IfcProcess::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ProcedureID"; case 6: return "ProcedureType"; case 7: return "UserDefinedProcedureType"; } return IfcProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProcedure (IfcAbstractEntityPtr e); + IfcProcedure (IfcAbstractEntity* e); IfcProcedure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< IfcLabel > v8_UserDefinedProcedureType); - typedef IfcProcedure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcedure > > list; - typedef IfcTemplatedEntityList< IfcProcedure >::it it; + typedef IfcTemplatedEntityList< IfcProcedure > list; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -29338,15 +28340,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 IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcProjectOrder : public IfcControl { public: - IfcIdentifier ID(); + IfcIdentifier ID() const; void setID(IfcIdentifier 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(); + IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum PredefinedType() const; void setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v); /// Whether the optional attribute Status is defined for this IfcProjectOrder - bool hasStatus(); + bool hasStatus() const; /// The current status of a project order.Examples of status values that might be used for a project order status include: /// /// PLANNED @@ -29356,40 +28358,36 @@ public: /// STARTED /// DELAYED /// DONE - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ID"; case 6: return "PredefinedType"; case 7: return "Status"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectOrder (IfcAbstractEntityPtr e); + IfcProjectOrder (IfcAbstractEntity* e); IfcProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< IfcLabel > v8_Status); - typedef IfcProjectOrder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectOrder > > list; - typedef IfcTemplatedEntityList< IfcProjectOrder >::it it; + typedef IfcTemplatedEntityList< IfcProjectOrder > list; }; class IfcProjectOrderRecord : public IfcControl { public: - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > Records(); - void setRecords(SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > v); - IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum PredefinedType(); + IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr Records() const; + void setRecords(IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v); + IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Records"; case 6: return "PredefinedType"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectOrderRecord (IfcAbstractEntityPtr e); - IfcProjectOrderRecord (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > > v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType); - typedef IfcProjectOrderRecord* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectOrderRecord > > list; - typedef IfcTemplatedEntityList< IfcProjectOrderRecord >::it it; + IfcProjectOrderRecord (IfcAbstractEntity* e); + IfcProjectOrderRecord (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType); + typedef IfcTemplatedEntityList< IfcProjectOrderRecord > list; }; /// The projection element is a /// specialization of the general feature element to represent @@ -29503,15 +28501,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElementAddition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElementAddition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectionElement (IfcAbstractEntityPtr e); + IfcProjectionElement (IfcAbstractEntity* e); IfcProjectionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcProjectionElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectionElement > > list; - typedef IfcTemplatedEntityList< IfcProjectionElement >::it it; + 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: /// @@ -29551,20 +28547,18 @@ public: class IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. - IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType(); + IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProtectiveDeviceType (IfcAbstractEntityPtr e); - IfcProtectiveDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); - typedef IfcProtectiveDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProtectiveDeviceType > > list; - typedef IfcTemplatedEntityList< IfcProtectiveDeviceType >::it it; + IfcProtectiveDeviceType (IfcAbstractEntity* e); + IfcProtectiveDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); + 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: /// @@ -29597,20 +28591,18 @@ public: class IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. - IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType(); + IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowMovingDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPumpType (IfcAbstractEntityPtr e); - IfcPumpType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); - typedef IfcPumpType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPumpType > > list; - typedef IfcTemplatedEntityList< IfcPumpType >::it it; + IfcPumpType (IfcAbstractEntity* e); + IfcPumpType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcPumpType > list; }; class IfcRadiusDimension : public IfcDimensionCurveDirectedCallout { @@ -29618,15 +28610,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRadiusDimension (IfcAbstractEntityPtr e); - IfcRadiusDimension (IfcEntities v1_Contents); - typedef IfcRadiusDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRadiusDimension > > list; - typedef IfcTemplatedEntityList< IfcRadiusDimension >::it it; + IfcRadiusDimension (IfcAbstractEntity* e); + IfcRadiusDimension (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcRadiusDimension > list; }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -29651,20 +28641,18 @@ public: class IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. - IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType(); + IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRailingType (IfcAbstractEntityPtr e); - IfcRailingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); - typedef IfcRailingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRailingType > > list; - typedef IfcTemplatedEntityList< IfcRailingType >::it it; + IfcRailingType (IfcAbstractEntity* e); + IfcRailingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcRailingType > list; }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -29689,20 +28677,18 @@ public: 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(); + IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRampFlightType (IfcAbstractEntityPtr e); - IfcRampFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); - typedef IfcRampFlightType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampFlightType > > list; - typedef IfcTemplatedEntityList< IfcRampFlightType >::it it; + IfcRampFlightType (IfcAbstractEntity* e); + IfcRampFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcRampFlightType > list; }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -29731,35 +28717,31 @@ public: virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelDecomposes::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelDecomposes::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAggregates (IfcAbstractEntityPtr e); - IfcRelAggregates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects); - typedef IfcRelAggregates* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAggregates > > list; - typedef IfcTemplatedEntityList< IfcRelAggregates >::it it; + IfcRelAggregates (IfcAbstractEntity* e); + IfcRelAggregates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelAggregates > list; }; class IfcRelAssignsTasks : public IfcRelAssignsToControl { public: /// Whether the optional attribute TimeForTask is defined for this IfcRelAssignsTasks - bool hasTimeForTask(); - IfcScheduleTimeControl* TimeForTask(); + bool hasTimeForTask() const; + IfcScheduleTimeControl* TimeForTask() const; void setTimeForTask(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "TimeForTask"; } return IfcRelAssignsToControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsTasks (IfcAbstractEntityPtr e); - IfcRelAssignsTasks (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask); - typedef IfcRelAssignsTasks* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsTasks > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsTasks >::it it; + IfcRelAssignsTasks (IfcAbstractEntity* e); + IfcRelAssignsTasks (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask); + 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: /// @@ -29801,129 +28783,123 @@ public: class IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. - IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType(); + IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSanitaryTerminalType (IfcAbstractEntityPtr e); - IfcSanitaryTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); - typedef IfcSanitaryTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSanitaryTerminalType > > list; - typedef IfcTemplatedEntityList< IfcSanitaryTerminalType >::it it; + IfcSanitaryTerminalType (IfcAbstractEntity* e); + IfcSanitaryTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; class IfcScheduleTimeControl : public IfcControl { public: /// Whether the optional attribute ActualStart is defined for this IfcScheduleTimeControl - bool hasActualStart(); - IfcDateTimeSelect ActualStart(); + bool hasActualStart() const; + IfcDateTimeSelect ActualStart() const; void setActualStart(IfcDateTimeSelect v); /// Whether the optional attribute EarlyStart is defined for this IfcScheduleTimeControl - bool hasEarlyStart(); - IfcDateTimeSelect EarlyStart(); + bool hasEarlyStart() const; + IfcDateTimeSelect EarlyStart() const; void setEarlyStart(IfcDateTimeSelect v); /// Whether the optional attribute LateStart is defined for this IfcScheduleTimeControl - bool hasLateStart(); - IfcDateTimeSelect LateStart(); + bool hasLateStart() const; + IfcDateTimeSelect LateStart() const; void setLateStart(IfcDateTimeSelect v); /// Whether the optional attribute ScheduleStart is defined for this IfcScheduleTimeControl - bool hasScheduleStart(); - IfcDateTimeSelect ScheduleStart(); + bool hasScheduleStart() const; + IfcDateTimeSelect ScheduleStart() const; void setScheduleStart(IfcDateTimeSelect v); /// Whether the optional attribute ActualFinish is defined for this IfcScheduleTimeControl - bool hasActualFinish(); - IfcDateTimeSelect ActualFinish(); + bool hasActualFinish() const; + IfcDateTimeSelect ActualFinish() const; void setActualFinish(IfcDateTimeSelect v); /// Whether the optional attribute EarlyFinish is defined for this IfcScheduleTimeControl - bool hasEarlyFinish(); - IfcDateTimeSelect EarlyFinish(); + bool hasEarlyFinish() const; + IfcDateTimeSelect EarlyFinish() const; void setEarlyFinish(IfcDateTimeSelect v); /// Whether the optional attribute LateFinish is defined for this IfcScheduleTimeControl - bool hasLateFinish(); - IfcDateTimeSelect LateFinish(); + bool hasLateFinish() const; + IfcDateTimeSelect LateFinish() const; void setLateFinish(IfcDateTimeSelect v); /// Whether the optional attribute ScheduleFinish is defined for this IfcScheduleTimeControl - bool hasScheduleFinish(); - IfcDateTimeSelect ScheduleFinish(); + bool hasScheduleFinish() const; + IfcDateTimeSelect ScheduleFinish() const; void setScheduleFinish(IfcDateTimeSelect v); /// Whether the optional attribute ScheduleDuration is defined for this IfcScheduleTimeControl - bool hasScheduleDuration(); - IfcTimeMeasure ScheduleDuration(); + bool hasScheduleDuration() const; + IfcTimeMeasure ScheduleDuration() const; void setScheduleDuration(IfcTimeMeasure v); /// Whether the optional attribute ActualDuration is defined for this IfcScheduleTimeControl - bool hasActualDuration(); - IfcTimeMeasure ActualDuration(); + bool hasActualDuration() const; + IfcTimeMeasure ActualDuration() const; void setActualDuration(IfcTimeMeasure v); /// Whether the optional attribute RemainingTime is defined for this IfcScheduleTimeControl - bool hasRemainingTime(); - IfcTimeMeasure RemainingTime(); + bool hasRemainingTime() const; + IfcTimeMeasure RemainingTime() const; void setRemainingTime(IfcTimeMeasure v); /// Whether the optional attribute FreeFloat is defined for this IfcScheduleTimeControl - bool hasFreeFloat(); - IfcTimeMeasure FreeFloat(); + bool hasFreeFloat() const; + IfcTimeMeasure FreeFloat() const; void setFreeFloat(IfcTimeMeasure v); /// Whether the optional attribute TotalFloat is defined for this IfcScheduleTimeControl - bool hasTotalFloat(); - IfcTimeMeasure TotalFloat(); + bool hasTotalFloat() const; + IfcTimeMeasure TotalFloat() const; void setTotalFloat(IfcTimeMeasure v); /// Whether the optional attribute IsCritical is defined for this IfcScheduleTimeControl - bool hasIsCritical(); - bool IsCritical(); + bool hasIsCritical() const; + bool IsCritical() const; void setIsCritical(bool v); /// Whether the optional attribute StatusTime is defined for this IfcScheduleTimeControl - bool hasStatusTime(); - IfcDateTimeSelect StatusTime(); + bool hasStatusTime() const; + IfcDateTimeSelect StatusTime() const; void setStatusTime(IfcDateTimeSelect v); /// Whether the optional attribute StartFloat is defined for this IfcScheduleTimeControl - bool hasStartFloat(); - IfcTimeMeasure StartFloat(); + bool hasStartFloat() const; + IfcTimeMeasure StartFloat() const; void setStartFloat(IfcTimeMeasure v); /// Whether the optional attribute FinishFloat is defined for this IfcScheduleTimeControl - bool hasFinishFloat(); - IfcTimeMeasure FinishFloat(); + bool hasFinishFloat() const; + IfcTimeMeasure FinishFloat() const; void setFinishFloat(IfcTimeMeasure v); /// Whether the optional attribute Completion is defined for this IfcScheduleTimeControl - bool hasCompletion(); - IfcPositiveRatioMeasure Completion(); + bool hasCompletion() const; + IfcPositiveRatioMeasure Completion() const; void setCompletion(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 23; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_BOOL; case 19: return IfcUtil::Argument_ENTITY; case 20: return IfcUtil::Argument_DOUBLE; case 21: return IfcUtil::Argument_DOUBLE; case 22: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ActualStart"; case 6: return "EarlyStart"; case 7: return "LateStart"; case 8: return "ScheduleStart"; case 9: return "ActualFinish"; case 10: return "EarlyFinish"; case 11: return "LateFinish"; case 12: return "ScheduleFinish"; case 13: return "ScheduleDuration"; case 14: return "ActualDuration"; case 15: return "RemainingTime"; case 16: return "FreeFloat"; case 17: return "TotalFloat"; case 18: return "IsCritical"; case 19: return "StatusTime"; case 20: return "StartFloat"; case 21: return "FinishFloat"; case 22: return "Completion"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsTasks > > ScheduleTimeControlAssigned(); // INVERSE IfcRelAssignsTasks::TimeForTask + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsTasks >::ptr ScheduleTimeControlAssigned() const; // INVERSE IfcRelAssignsTasks::TimeForTask bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcScheduleTimeControl (IfcAbstractEntityPtr e); + IfcScheduleTimeControl (IfcAbstractEntity* e); IfcScheduleTimeControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcDateTimeSelect > v6_ActualStart, boost::optional< IfcDateTimeSelect > v7_EarlyStart, boost::optional< IfcDateTimeSelect > v8_LateStart, boost::optional< IfcDateTimeSelect > v9_ScheduleStart, boost::optional< IfcDateTimeSelect > v10_ActualFinish, boost::optional< IfcDateTimeSelect > v11_EarlyFinish, boost::optional< IfcDateTimeSelect > v12_LateFinish, boost::optional< IfcDateTimeSelect > v13_ScheduleFinish, boost::optional< IfcTimeMeasure > v14_ScheduleDuration, boost::optional< IfcTimeMeasure > v15_ActualDuration, boost::optional< IfcTimeMeasure > v16_RemainingTime, boost::optional< IfcTimeMeasure > v17_FreeFloat, boost::optional< IfcTimeMeasure > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect > v20_StatusTime, boost::optional< IfcTimeMeasure > v21_StartFloat, boost::optional< IfcTimeMeasure > v22_FinishFloat, boost::optional< IfcPositiveRatioMeasure > v23_Completion); - typedef IfcScheduleTimeControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcScheduleTimeControl > > list; - typedef IfcTemplatedEntityList< IfcScheduleTimeControl >::it it; + typedef IfcTemplatedEntityList< IfcScheduleTimeControl > list; }; class IfcServiceLife : public IfcControl { public: - IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum ServiceLifeType(); + IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum ServiceLifeType() const; void setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v); - IfcTimeMeasure ServiceLifeDuration(); + IfcTimeMeasure ServiceLifeDuration() const; void setServiceLifeDuration(IfcTimeMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ServiceLifeType"; case 6: return "ServiceLifeDuration"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcServiceLife (IfcAbstractEntityPtr e); + IfcServiceLife (IfcAbstractEntity* e); IfcServiceLife (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, IfcTimeMeasure v7_ServiceLifeDuration); - typedef IfcServiceLife* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcServiceLife > > list; - typedef IfcTemplatedEntityList< IfcServiceLife >::it it; + typedef IfcTemplatedEntityList< IfcServiceLife > list; }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -30117,45 +29093,43 @@ public: class IfcSite : public IfcSpatialStructureElement { public: /// Whether the optional attribute RefLatitude is defined for this IfcSite - bool hasRefLatitude(); + bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - IfcCompoundPlaneAngleMeasure RefLatitude(); + IfcCompoundPlaneAngleMeasure RefLatitude() const; void setRefLatitude(IfcCompoundPlaneAngleMeasure v); /// Whether the optional attribute RefLongitude is defined for this IfcSite - bool hasRefLongitude(); + bool hasRefLongitude() const; /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - IfcCompoundPlaneAngleMeasure RefLongitude(); + IfcCompoundPlaneAngleMeasure RefLongitude() const; void setRefLongitude(IfcCompoundPlaneAngleMeasure v); /// Whether the optional attribute RefElevation is defined for this IfcSite - bool hasRefElevation(); + bool hasRefElevation() const; /// Datum elevation relative to sea level. - IfcLengthMeasure RefElevation(); + IfcLengthMeasure RefElevation() const; void setRefElevation(IfcLengthMeasure v); /// Whether the optional attribute LandTitleNumber is defined for this IfcSite - bool hasLandTitleNumber(); + bool hasLandTitleNumber() const; /// The land title number (designation of the site within a regional system). - IfcLabel LandTitleNumber(); + IfcLabel LandTitleNumber() const; void setLandTitleNumber(IfcLabel v); /// Whether the optional attribute SiteAddress is defined for this IfcSite - bool hasSiteAddress(); + bool hasSiteAddress() const; /// Address given to the site for postal purposes. - IfcPostalAddress* SiteAddress(); + IfcPostalAddress* SiteAddress() const; void setSiteAddress(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "RefLatitude"; case 10: return "RefLongitude"; case 11: return "RefElevation"; case 12: return "LandTitleNumber"; case 13: return "SiteAddress"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSite (IfcAbstractEntityPtr e); + IfcSite (IfcAbstractEntity* e); IfcSite (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); - typedef IfcSite* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSite > > list; - typedef IfcTemplatedEntityList< IfcSite >::it it; + typedef IfcTemplatedEntityList< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -30237,20 +29211,18 @@ public: class IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. - IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType(); + IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlabType (IfcAbstractEntityPtr e); - IfcSlabType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); - typedef IfcSlabType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlabType > > list; - typedef IfcTemplatedEntityList< IfcSlabType >::it it; + IfcSlabType (IfcAbstractEntity* e); + IfcSlabType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSlabType > list; }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -30504,27 +29476,25 @@ public: /// 'Brep' class IfcSpace : public IfcSpatialStructureElement { public: - IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InteriorOrExteriorSpace(); + IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InteriorOrExteriorSpace() const; void setInteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v); /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace - bool hasElevationWithFlooring(); + bool hasElevationWithFlooring() const; /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - IfcLengthMeasure ElevationWithFlooring(); + IfcLengthMeasure ElevationWithFlooring() const; void setElevationWithFlooring(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "InteriorOrExteriorSpace"; case 10: return "ElevationWithFlooring"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > HasCoverings(); // INVERSE IfcRelCoversSpaces::RelatedSpace - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > BoundedBy(); // INVERSE IfcRelSpaceBoundary::RelatingSpace + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelCoversSpaces >::ptr HasCoverings() const; // INVERSE IfcRelCoversSpaces::RelatedSpace + IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpace (IfcAbstractEntityPtr e); + IfcSpace (IfcAbstractEntity* e); IfcSpace (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring); - typedef IfcSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpace > > list; - typedef IfcTemplatedEntityList< IfcSpace >::it it; + 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: /// @@ -30559,54 +29529,50 @@ public: class IfcSpaceHeaterType : public IfcEnergyConversionDeviceType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). - IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType(); + IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceHeaterType (IfcAbstractEntityPtr e); - IfcSpaceHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); - typedef IfcSpaceHeaterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceHeaterType > > list; - typedef IfcTemplatedEntityList< IfcSpaceHeaterType >::it it; + IfcSpaceHeaterType (IfcAbstractEntity* e); + IfcSpaceHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; }; class IfcSpaceProgram : public IfcControl { public: - IfcIdentifier SpaceProgramIdentifier(); + IfcIdentifier SpaceProgramIdentifier() const; void setSpaceProgramIdentifier(IfcIdentifier v); /// Whether the optional attribute MaxRequiredArea is defined for this IfcSpaceProgram - bool hasMaxRequiredArea(); - IfcAreaMeasure MaxRequiredArea(); + bool hasMaxRequiredArea() const; + IfcAreaMeasure MaxRequiredArea() const; void setMaxRequiredArea(IfcAreaMeasure v); /// Whether the optional attribute MinRequiredArea is defined for this IfcSpaceProgram - bool hasMinRequiredArea(); - IfcAreaMeasure MinRequiredArea(); + bool hasMinRequiredArea() const; + IfcAreaMeasure MinRequiredArea() const; void setMinRequiredArea(IfcAreaMeasure v); /// Whether the optional attribute RequestedLocation is defined for this IfcSpaceProgram - bool hasRequestedLocation(); - IfcSpatialStructureElement* RequestedLocation(); + bool hasRequestedLocation() const; + IfcSpatialStructureElement* RequestedLocation() const; void setRequestedLocation(IfcSpatialStructureElement* v); - IfcAreaMeasure StandardRequiredArea(); + IfcAreaMeasure StandardRequiredArea() const; void setStandardRequiredArea(IfcAreaMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "SpaceProgramIdentifier"; case 6: return "MaxRequiredArea"; case 7: return "MinRequiredArea"; case 8: return "RequestedLocation"; case 9: return "StandardRequiredArea"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelInteractionRequirements > > HasInteractionReqsFrom(); // INVERSE IfcRelInteractionRequirements::RelatedSpaceProgram - SHARED_PTR< IfcTemplatedEntityList< IfcRelInteractionRequirements > > HasInteractionReqsTo(); // INVERSE IfcRelInteractionRequirements::RelatingSpaceProgram + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelInteractionRequirements >::ptr HasInteractionReqsFrom() const; // INVERSE IfcRelInteractionRequirements::RelatedSpaceProgram + IfcTemplatedEntityList< IfcRelInteractionRequirements >::ptr HasInteractionReqsTo() const; // INVERSE IfcRelInteractionRequirements::RelatingSpaceProgram bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceProgram (IfcAbstractEntityPtr e); + IfcSpaceProgram (IfcAbstractEntity* e); IfcSpaceProgram (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_SpaceProgramIdentifier, boost::optional< IfcAreaMeasure > v7_MaxRequiredArea, boost::optional< IfcAreaMeasure > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, IfcAreaMeasure v10_StandardRequiredArea); - typedef IfcSpaceProgram* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceProgram > > list; - typedef IfcTemplatedEntityList< IfcSpaceProgram >::it it; + typedef IfcTemplatedEntityList< IfcSpaceProgram > list; }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -30692,20 +29658,18 @@ public: 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(); + IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcSpatialStructureElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceType (IfcAbstractEntityPtr e); - IfcSpaceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType); - typedef IfcSpaceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceType > > list; - typedef IfcTemplatedEntityList< IfcSpaceType >::it it; + IfcSpaceType (IfcAbstractEntity* e); + IfcSpaceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType); + 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: /// @@ -30736,20 +29700,18 @@ public: class IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. - IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType(); + IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStackTerminalType (IfcAbstractEntityPtr e); - IfcStackTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); - typedef IfcStackTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStackTerminalType > > list; - typedef IfcTemplatedEntityList< IfcStackTerminalType >::it it; + IfcStackTerminalType (IfcAbstractEntity* e); + IfcStackTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcStackTerminalType > list; }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -30774,20 +29736,18 @@ public: 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(); + IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStairFlightType (IfcAbstractEntityPtr e); - IfcStairFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); - typedef IfcStairFlightType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairFlightType > > list; - typedef IfcTemplatedEntityList< IfcStairFlightType >::it it; + IfcStairFlightType (IfcAbstractEntity* e); + IfcStairFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcStairFlightType > list; }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -30811,24 +29771,22 @@ public: 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(); + bool DestabilizingLoad() const; void setDestabilizingLoad(bool v); /// Whether the optional attribute CausedBy is defined for this IfcStructuralAction - bool hasCausedBy(); - IfcStructuralReaction* CausedBy(); + bool hasCausedBy() const; + IfcStructuralReaction* CausedBy() const; void setCausedBy(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "DestabilizingLoad"; case 10: return "CausedBy"; } return IfcStructuralActivity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralAction (IfcAbstractEntityPtr e); + IfcStructuralAction (IfcAbstractEntity* e); IfcStructuralAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); - typedef IfcStructuralAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralAction >::it it; + 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. /// @@ -30836,23 +29794,21 @@ public: class IfcStructuralConnection : public IfcStructuralItem { public: /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection - bool hasAppliedCondition(); + 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(); + IfcBoundaryCondition* AppliedCondition() const; void setAppliedCondition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "AppliedCondition"; } return IfcStructuralItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > ConnectsStructuralMembers(); // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::ptr ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralConnection (IfcAbstractEntityPtr e); + IfcStructuralConnection (IfcAbstractEntity* e); IfcStructuralConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcStructuralConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralConnection >::it it; + 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. /// @@ -30876,15 +29832,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralConnection::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveConnection (IfcAbstractEntityPtr e); + IfcStructuralCurveConnection (IfcAbstractEntity* e); IfcStructuralCurveConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcStructuralCurveConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveConnection >::it it; + 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. /// @@ -30926,20 +29880,18 @@ public: class IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. - IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum PredefinedType(); + IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; } return IfcStructuralMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveMember (IfcAbstractEntityPtr e); + IfcStructuralCurveMember (IfcAbstractEntity* e); IfcStructuralCurveMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); - typedef IfcStructuralCurveMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveMember > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveMember >::it it; + 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. /// @@ -30966,15 +29918,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralCurveMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralCurveMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveMemberVarying (IfcAbstractEntityPtr e); + IfcStructuralCurveMemberVarying (IfcAbstractEntity* e); IfcStructuralCurveMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); - typedef IfcStructuralCurveMemberVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying >::it it; + typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -30985,40 +29935,36 @@ public: /// NOTE  Like its supertype IfcStructuralCurveAction, this action type may also act on curved edges. class IfcStructuralLinearAction : public IfcStructuralAction { public: - IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue(); + IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; void setProjectedOrTrue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "ProjectedOrTrue"; } return IfcStructuralAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLinearAction (IfcAbstractEntityPtr e); + IfcStructuralLinearAction (IfcAbstractEntity* e); IfcStructuralLinearAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); - typedef IfcStructuralLinearAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLinearAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralLinearAction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; class IfcStructuralLinearActionVarying : public IfcStructuralLinearAction { public: - IfcShapeAspect* VaryingAppliedLoadLocation(); + IfcShapeAspect* VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(IfcShapeAspect* v); - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > SubsequentAppliedLoads(); - void setSubsequentAppliedLoads(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v); + IfcTemplatedEntityList< IfcStructuralLoad >::ptr SubsequentAppliedLoads() const; + void setSubsequentAppliedLoads(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "VaryingAppliedLoadLocation"; case 13: return "SubsequentAppliedLoads"; } return IfcStructuralLinearAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLinearActionVarying (IfcAbstractEntityPtr e); - IfcStructuralLinearActionVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v14_SubsequentAppliedLoads); - typedef IfcStructuralLinearActionVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLinearActionVarying > > list; - typedef IfcTemplatedEntityList< IfcStructuralLinearActionVarying >::it it; + IfcStructuralLinearActionVarying (IfcAbstractEntity* e); + IfcStructuralLinearActionVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); + typedef IfcTemplatedEntityList< IfcStructuralLinearActionVarying > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -31056,38 +30002,36 @@ public: 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(); + IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum PredefinedType() const; void setPredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v); /// Type of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. - IfcActionTypeEnum::IfcActionTypeEnum ActionType(); + IfcActionTypeEnum::IfcActionTypeEnum ActionType() const; void setActionType(IfcActionTypeEnum::IfcActionTypeEnum v); /// Source of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. - IfcActionSourceTypeEnum::IfcActionSourceTypeEnum ActionSource(); + IfcActionSourceTypeEnum::IfcActionSourceTypeEnum ActionSource() const; void setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v); /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup - bool hasCoefficient(); + bool hasCoefficient() const; /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - IfcRatioMeasure Coefficient(); + IfcRatioMeasure Coefficient() const; void setCoefficient(IfcRatioMeasure v); /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup - bool hasPurpose(); + bool hasPurpose() const; /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - IfcLabel Purpose(); + IfcLabel Purpose() const; void setPurpose(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_STRING; } return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "ActionType"; case 7: return "ActionSource"; case 8: return "Coefficient"; case 9: return "Purpose"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > SourceOfResultGroup(); // INVERSE IfcStructuralResultGroup::ResultForLoadGroup - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > LoadGroupFor(); // INVERSE IfcStructuralAnalysisModel::LoadedBy + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr SourceOfResultGroup() const; // INVERSE IfcStructuralResultGroup::ResultForLoadGroup + IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadGroup (IfcAbstractEntityPtr e); + IfcStructuralLoadGroup (IfcAbstractEntity* e); IfcStructuralLoadGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose); - typedef IfcStructuralLoadGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadGroup >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadGroup > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -31098,40 +30042,36 @@ public: /// NOTE  Like its supertype IfcStructuralSurfaceAction, this action type may also act on curved faces. class IfcStructuralPlanarAction : public IfcStructuralAction { public: - IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue(); + IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; void setProjectedOrTrue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "ProjectedOrTrue"; } return IfcStructuralAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPlanarAction (IfcAbstractEntityPtr e); + IfcStructuralPlanarAction (IfcAbstractEntity* e); IfcStructuralPlanarAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); - typedef IfcStructuralPlanarAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPlanarAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralPlanarAction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; class IfcStructuralPlanarActionVarying : public IfcStructuralPlanarAction { public: - IfcShapeAspect* VaryingAppliedLoadLocation(); + IfcShapeAspect* VaryingAppliedLoadLocation() const; void setVaryingAppliedLoadLocation(IfcShapeAspect* v); - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > SubsequentAppliedLoads(); - void setSubsequentAppliedLoads(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v); + IfcTemplatedEntityList< IfcStructuralLoad >::ptr SubsequentAppliedLoads() const; + void setSubsequentAppliedLoads(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "VaryingAppliedLoadLocation"; case 13: return "SubsequentAppliedLoads"; } return IfcStructuralPlanarAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPlanarActionVarying (IfcAbstractEntityPtr e); - IfcStructuralPlanarActionVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > v14_SubsequentAppliedLoads); - typedef IfcStructuralPlanarActionVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPlanarActionVarying > > list; - typedef IfcTemplatedEntityList< IfcStructuralPlanarActionVarying >::it it; + IfcStructuralPlanarActionVarying (IfcAbstractEntity* e); + IfcStructuralPlanarActionVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); + typedef IfcTemplatedEntityList< IfcStructuralPlanarActionVarying > list; }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -31183,15 +30123,13 @@ public: virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralAction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPointAction (IfcAbstractEntityPtr e); + IfcStructuralPointAction (IfcAbstractEntity* e); IfcStructuralPointAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); - typedef IfcStructuralPointAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralPointAction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -31211,15 +30149,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralConnection::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPointConnection (IfcAbstractEntityPtr e); + IfcStructuralPointConnection (IfcAbstractEntity* e); IfcStructuralPointConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcStructuralPointConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralPointConnection >::it it; + typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -31269,15 +30205,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralReaction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralReaction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPointReaction (IfcAbstractEntityPtr e); + IfcStructuralPointReaction (IfcAbstractEntity* e); IfcStructuralPointReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); - typedef IfcStructuralPointReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointReaction > > list; - typedef IfcTemplatedEntityList< IfcStructuralPointReaction >::it it; + 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. /// @@ -31286,29 +30220,27 @@ public: class IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. - IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType(); + IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType() const; void setTheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v); /// Whether the optional attribute ResultForLoadGroup is defined for this IfcStructuralResultGroup - bool hasResultForLoadGroup(); + bool hasResultForLoadGroup() const; /// Reference to an instance of IfcStructuralLoadGroup for which this instance represents the result. - IfcStructuralLoadGroup* ResultForLoadGroup(); + IfcStructuralLoadGroup* ResultForLoadGroup() const; void setResultForLoadGroup(IfcStructuralLoadGroup* v); /// This value allows to easily recognize whether a linear analysis has been applied (allowing the superposition of analysis results). - bool IsLinear(); + bool IsLinear() const; void setIsLinear(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheoryType"; case 6: return "ResultForLoadGroup"; case 7: return "IsLinear"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > ResultGroupFor(); // INVERSE IfcStructuralAnalysisModel::HasResults + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralResultGroup (IfcAbstractEntityPtr e); + IfcStructuralResultGroup (IfcAbstractEntity* e); IfcStructuralResultGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); - typedef IfcStructuralResultGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > list; - typedef IfcTemplatedEntityList< IfcStructuralResultGroup >::it it; + 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. /// @@ -31327,15 +30259,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralConnection::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceConnection (IfcAbstractEntityPtr e); + IfcStructuralSurfaceConnection (IfcAbstractEntity* e); IfcStructuralSurfaceConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcStructuralSurfaceConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection >::it it; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -31364,25 +30294,23 @@ public: class IfcSubContractResource : public IfcConstructionResource { public: /// Whether the optional attribute SubContractor is defined for this IfcSubContractResource - bool hasSubContractor(); - IfcActorSelect SubContractor(); + bool hasSubContractor() const; + IfcActorSelect SubContractor() const; void setSubContractor(IfcActorSelect v); /// Whether the optional attribute JobDescription is defined for this IfcSubContractResource - bool hasJobDescription(); - IfcText JobDescription(); + bool hasJobDescription() const; + IfcText JobDescription() const; void setJobDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; } return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "SubContractor"; case 10: return "JobDescription"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSubContractResource (IfcAbstractEntityPtr e); + IfcSubContractResource (IfcAbstractEntity* e); IfcSubContractResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcActorSelect > v10_SubContractor, boost::optional< IfcText > v11_JobDescription); - typedef IfcSubContractResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubContractResource > > list; - typedef IfcTemplatedEntityList< IfcSubContractResource >::it it; + 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: /// @@ -31427,20 +30355,18 @@ public: class IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. - IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType(); + IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSwitchingDeviceType (IfcAbstractEntityPtr e); - IfcSwitchingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); - typedef IfcSwitchingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSwitchingDeviceType > > list; - typedef IfcTemplatedEntityList< IfcSwitchingDeviceType >::it it; + IfcSwitchingDeviceType (IfcAbstractEntity* e); + IfcSwitchingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSwitchingDeviceType > list; }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -31464,16 +30390,14 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > ServicesBuildings(); // INVERSE IfcRelServicesBuildings::RelatingSystem + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSystem (IfcAbstractEntityPtr e); + IfcSystem (IfcAbstractEntity* e); IfcSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcSystem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystem > > list; - typedef IfcTemplatedEntityList< IfcSystem >::it it; + typedef IfcTemplatedEntityList< IfcSystem > list; }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: /// @@ -31510,44 +30434,40 @@ public: class IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. - IfcTankTypeEnum::IfcTankTypeEnum PredefinedType(); + IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowStorageDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTankType (IfcAbstractEntityPtr e); - IfcTankType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); - typedef IfcTankType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTankType > > list; - typedef IfcTemplatedEntityList< IfcTankType >::it it; + IfcTankType (IfcAbstractEntity* e); + IfcTankType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTankType > list; }; class IfcTimeSeriesSchedule : public IfcControl { public: /// Whether the optional attribute ApplicableDates is defined for this IfcTimeSeriesSchedule - bool hasApplicableDates(); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ApplicableDates(); - void setApplicableDates(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); - IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum TimeSeriesScheduleType(); + bool hasApplicableDates() const; + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ApplicableDates() const; + void setApplicableDates(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum TimeSeriesScheduleType() const; void setTimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v); - IfcTimeSeries* TimeSeries(); + IfcTimeSeries* TimeSeries() const; void setTimeSeries(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ApplicableDates"; case 6: return "TimeSeriesScheduleType"; case 7: return "TimeSeries"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimeSeriesSchedule (IfcAbstractEntityPtr e); - IfcTimeSeriesSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcEntities > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries); - typedef IfcTimeSeriesSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesSchedule > > list; - typedef IfcTemplatedEntityList< IfcTimeSeriesSchedule >::it it; + IfcTimeSeriesSchedule (IfcAbstractEntity* e); + IfcTimeSeriesSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcEntityList::ptr > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries); + typedef IfcTemplatedEntityList< IfcTimeSeriesSchedule > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: /// @@ -31579,20 +30499,18 @@ public: class IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. - IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType(); + IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransformerType (IfcAbstractEntityPtr e); - IfcTransformerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); - typedef IfcTransformerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransformerType > > list; - typedef IfcTemplatedEntityList< IfcTransformerType >::it it; + IfcTransformerType (IfcAbstractEntity* e); + IfcTransformerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTransformerType > list; }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -31713,31 +30631,29 @@ public: class IfcTransportElement : public IfcElement { public: /// Whether the optional attribute OperationType is defined for this IfcTransportElement - bool hasOperationType(); - IfcTransportElementTypeEnum::IfcTransportElementTypeEnum OperationType(); + bool hasOperationType() const; + IfcTransportElementTypeEnum::IfcTransportElementTypeEnum OperationType() const; void setOperationType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v); /// Whether the optional attribute CapacityByWeight is defined for this IfcTransportElement - bool hasCapacityByWeight(); + bool hasCapacityByWeight() const; /// Capacity of the transport element measured by weight. - IfcMassMeasure CapacityByWeight(); + IfcMassMeasure CapacityByWeight() const; void setCapacityByWeight(IfcMassMeasure v); /// Whether the optional attribute CapacityByNumber is defined for this IfcTransportElement - bool hasCapacityByNumber(); + bool hasCapacityByNumber() const; /// Capacity of the transportation element measured in numbers of person. - IfcCountMeasure CapacityByNumber(); + IfcCountMeasure CapacityByNumber() const; void setCapacityByNumber(IfcCountMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OperationType"; case 9: return "CapacityByWeight"; case 10: return "CapacityByNumber"; } return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransportElement (IfcAbstractEntityPtr e); + IfcTransportElement (IfcAbstractEntity* e); IfcTransportElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< IfcMassMeasure > v10_CapacityByWeight, boost::optional< IfcCountMeasure > v11_CapacityByNumber); - typedef IfcTransportElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransportElement > > list; - typedef IfcTemplatedEntityList< IfcTransportElement >::it it; + typedef IfcTemplatedEntityList< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -31820,32 +30736,30 @@ public: 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(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Trim1(); - void setTrim1(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim1() const; + void setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Trim2(); - void setTrim2(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim2() const; + void setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::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(); + bool SenseAgreement() const; void setSenseAgreement(bool v); /// Where both parameter and point are present at either end of the curve this indicates the preferred form. - IfcTrimmingPreference::IfcTrimmingPreference MasterRepresentation(); + IfcTrimmingPreference::IfcTrimmingPreference MasterRepresentation() const; void setMasterRepresentation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Trim1"; case 2: return "Trim2"; case 3: return "SenseAgreement"; case 4: return "MasterRepresentation"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTrimmedCurve (IfcAbstractEntityPtr e); - IfcTrimmedCurve (IfcCurve* v1_BasisCurve, IfcEntities v2_Trim1, IfcEntities v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation); - typedef IfcTrimmedCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTrimmedCurve > > list; - typedef IfcTemplatedEntityList< IfcTrimmedCurve >::it it; + IfcTrimmedCurve (IfcAbstractEntity* e); + IfcTrimmedCurve (IfcCurve* v1_BasisCurve, IfcEntityList::ptr v2_Trim1, IfcEntityList::ptr v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation); + typedef IfcTemplatedEntityList< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -31879,20 +30793,18 @@ public: class IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. - IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType(); + IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTubeBundleType (IfcAbstractEntityPtr e); - IfcTubeBundleType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); - typedef IfcTubeBundleType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTubeBundleType > > list; - typedef IfcTemplatedEntityList< IfcTubeBundleType >::it it; + IfcTubeBundleType (IfcAbstractEntity* e); + IfcTubeBundleType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); + 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: /// @@ -31925,20 +30837,18 @@ public: class IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. - IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType(); + IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitaryEquipmentType (IfcAbstractEntityPtr e); - IfcUnitaryEquipmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); - typedef IfcUnitaryEquipmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitaryEquipmentType > > list; - typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType >::it it; + IfcUnitaryEquipmentType (IfcAbstractEntity* e); + IfcUnitaryEquipmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType > list; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -31981,20 +30891,18 @@ public: class IfcValveType : public IfcFlowControllerType { public: /// The type of valve. - IfcValveTypeEnum::IfcValveTypeEnum PredefinedType(); + IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcValveType (IfcAbstractEntityPtr e); - IfcValveType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); - typedef IfcValveType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcValveType > > list; - typedef IfcTemplatedEntityList< IfcValveType >::it it; + IfcValveType (IfcAbstractEntity* e); + IfcValveType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcValveType > list; }; /// A virtual element is a special element used to provide imaginary boundaries, such as between two adjacent, but not separated, spaces. Virtual elements are usually not displayed and does not have quantities and other measures. Therefore IfcVirtualElement does not have material information and quantities attached. /// @@ -32087,15 +30995,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVirtualElement (IfcAbstractEntityPtr e); + IfcVirtualElement (IfcAbstractEntity* e); IfcVirtualElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcVirtualElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVirtualElement > > list; - typedef IfcTemplatedEntityList< IfcVirtualElement >::it it; + typedef IfcTemplatedEntityList< IfcVirtualElement > list; }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -32184,20 +31090,18 @@ public: class IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. - IfcWallTypeEnum::IfcWallTypeEnum PredefinedType(); + IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWallType (IfcAbstractEntityPtr e); - IfcWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); - typedef IfcWallType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallType > > list; - typedef IfcTemplatedEntityList< IfcWallType >::it it; + IfcWallType (IfcAbstractEntity* e); + IfcWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); + 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: /// @@ -32238,20 +31142,18 @@ public: class IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. - IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType(); + IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWasteTerminalType (IfcAbstractEntityPtr e); - IfcWasteTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); - typedef IfcWasteTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWasteTerminalType > > list; - typedef IfcTemplatedEntityList< IfcWasteTerminalType >::it it; + IfcWasteTerminalType (IfcAbstractEntity* e); + IfcWasteTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcWasteTerminalType > list; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -32299,59 +31201,57 @@ public: /// property set for work control class IfcWorkControl : public IfcControl { public: - IfcIdentifier Identifier(); + IfcIdentifier Identifier() const; void setIdentifier(IfcIdentifier v); /// The date that the plan is created. - IfcDateTimeSelect CreationDate(); + IfcDateTimeSelect CreationDate() const; void setCreationDate(IfcDateTimeSelect v); /// Whether the optional attribute Creators is defined for this IfcWorkControl - bool hasCreators(); + bool hasCreators() const; /// The authors of the work plan. - SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > Creators(); - void setCreators(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v); + IfcTemplatedEntityList< IfcPerson >::ptr Creators() const; + void setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v); /// Whether the optional attribute Purpose is defined for this IfcWorkControl - bool hasPurpose(); + bool hasPurpose() const; /// A description of the purpose of the work schedule. - IfcLabel Purpose(); + IfcLabel Purpose() const; void setPurpose(IfcLabel v); /// Whether the optional attribute Duration is defined for this IfcWorkControl - bool hasDuration(); + bool hasDuration() const; /// The total duration of the entire work schedule. - IfcTimeMeasure Duration(); + IfcTimeMeasure Duration() const; void setDuration(IfcTimeMeasure v); /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl - bool hasTotalFloat(); + bool hasTotalFloat() const; /// The total time float of the entire work schedule. - IfcTimeMeasure TotalFloat(); + IfcTimeMeasure TotalFloat() const; void setTotalFloat(IfcTimeMeasure v); /// The start time of the schedule. - IfcDateTimeSelect StartTime(); + IfcDateTimeSelect StartTime() const; void setStartTime(IfcDateTimeSelect v); /// Whether the optional attribute FinishTime is defined for this IfcWorkControl - bool hasFinishTime(); + bool hasFinishTime() const; /// The finish time of the schedule. - IfcDateTimeSelect FinishTime(); + IfcDateTimeSelect FinishTime() const; void setFinishTime(IfcDateTimeSelect v); /// Whether the optional attribute WorkControlType is defined for this IfcWorkControl - bool hasWorkControlType(); - IfcWorkControlTypeEnum::IfcWorkControlTypeEnum WorkControlType(); + bool hasWorkControlType() const; + IfcWorkControlTypeEnum::IfcWorkControlTypeEnum WorkControlType() const; void setWorkControlType(IfcWorkControlTypeEnum::IfcWorkControlTypeEnum v); /// Whether the optional attribute UserDefinedControlType is defined for this IfcWorkControl - bool hasUserDefinedControlType(); - IfcLabel UserDefinedControlType(); + bool hasUserDefinedControlType() const; + IfcLabel UserDefinedControlType() const; void setUserDefinedControlType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENUMERATION; case 14: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identifier"; case 6: return "CreationDate"; case 7: return "Creators"; case 8: return "Purpose"; case 9: return "Duration"; case 10: return "TotalFloat"; case 11: return "StartTime"; case 12: return "FinishTime"; case 13: return "WorkControlType"; case 14: return "UserDefinedControlType"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkControl (IfcAbstractEntityPtr e); - IfcWorkControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); - typedef IfcWorkControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkControl > > list; - typedef IfcTemplatedEntityList< IfcWorkControl >::it it; + IfcWorkControl (IfcAbstractEntity* e); + IfcWorkControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); + typedef IfcTemplatedEntityList< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -32383,15 +31283,13 @@ public: virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWorkControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcWorkControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkPlan (IfcAbstractEntityPtr e); - IfcWorkPlan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); - typedef IfcWorkPlan* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkPlan > > list; - typedef IfcTemplatedEntityList< IfcWorkPlan >::it it; + IfcWorkPlan (IfcAbstractEntity* e); + IfcWorkPlan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); + typedef IfcTemplatedEntityList< IfcWorkPlan > list; }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -32438,15 +31336,13 @@ public: virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWorkControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcWorkControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkSchedule (IfcAbstractEntityPtr e); - IfcWorkSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); - typedef IfcWorkSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkSchedule > > list; - typedef IfcTemplatedEntityList< IfcWorkSchedule >::it it; + IfcWorkSchedule (IfcAbstractEntity* e); + IfcWorkSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); + typedef IfcTemplatedEntityList< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isÿa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -32538,15 +31434,13 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcZone (IfcAbstractEntityPtr e); + IfcZone (IfcAbstractEntity* e); IfcZone (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcZone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcZone > > list; - typedef IfcTemplatedEntityList< IfcZone >::it it; + typedef IfcTemplatedEntityList< IfcZone > list; }; class Ifc2DCompositeCurve : public IfcCompositeCurve { @@ -32554,15 +31448,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCompositeCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCompositeCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - Ifc2DCompositeCurve (IfcAbstractEntityPtr e); - Ifc2DCompositeCurve (SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect); - typedef Ifc2DCompositeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< Ifc2DCompositeCurve > > list; - typedef IfcTemplatedEntityList< Ifc2DCompositeCurve >::it it; + Ifc2DCompositeCurve (IfcAbstractEntity* e); + Ifc2DCompositeCurve (IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect); + typedef IfcTemplatedEntityList< Ifc2DCompositeCurve > list; }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. /// @@ -32604,20 +31496,18 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcActionRequest : public IfcControl { public: - IfcIdentifier RequestID(); + IfcIdentifier RequestID() const; void setRequestID(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RequestID"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActionRequest (IfcAbstractEntityPtr e); + IfcActionRequest (IfcAbstractEntity* e); IfcActionRequest (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_RequestID); - typedef IfcActionRequest* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActionRequest > > list; - typedef IfcTemplatedEntityList< IfcActionRequest >::it it; + 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: /// @@ -32648,20 +31538,18 @@ public: class IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. - IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType(); + IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirTerminalBoxType (IfcAbstractEntityPtr e); - IfcAirTerminalBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); - typedef IfcAirTerminalBoxType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalBoxType > > list; - typedef IfcTemplatedEntityList< IfcAirTerminalBoxType >::it it; + IfcAirTerminalBoxType (IfcAbstractEntity* e); + IfcAirTerminalBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); + 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: /// @@ -32691,20 +31579,18 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType(); + IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirTerminalType (IfcAbstractEntityPtr e); - IfcAirTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); - typedef IfcAirTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalType > > list; - typedef IfcTemplatedEntityList< IfcAirTerminalType >::it it; + IfcAirTerminalType (IfcAbstractEntity* e); + IfcAirTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); + 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: /// @@ -32735,20 +31621,18 @@ public: class IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. - IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType(); + IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirToAirHeatRecoveryType (IfcAbstractEntityPtr e); - IfcAirToAirHeatRecoveryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); - typedef IfcAirToAirHeatRecoveryType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > > list; - typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType >::it it; + IfcAirToAirHeatRecoveryType (IfcAbstractEntity* e); + IfcAirToAirHeatRecoveryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > list; }; class IfcAngularDimension : public IfcDimensionCurveDirectedCallout { @@ -32756,15 +31640,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAngularDimension (IfcAbstractEntityPtr e); - IfcAngularDimension (IfcEntities v1_Contents); - typedef IfcAngularDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAngularDimension > > list; - typedef IfcTemplatedEntityList< IfcAngularDimension >::it it; + IfcAngularDimension (IfcAbstractEntity* e); + IfcAngularDimension (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcAngularDimension > list; }; /// An asset is a uniquely identifiable grouping of elements acting as a single entity that has a financial value or that can be operated on as a single unit. /// @@ -32792,48 +31674,46 @@ public: /// IfcElement: Physical elements that comprise the asset. class IfcAsset : public IfcGroup { public: - IfcIdentifier AssetID(); + IfcIdentifier AssetID() const; void setAssetID(IfcIdentifier v); /// The cost value of the asset at the time of purchase. - IfcCostValue* OriginalValue(); + IfcCostValue* OriginalValue() const; void setOriginalValue(IfcCostValue* v); /// The current cost value of the asset. - IfcCostValue* CurrentValue(); + IfcCostValue* CurrentValue() const; void setCurrentValue(IfcCostValue* v); /// The total cost of replacement of the asset. - IfcCostValue* TotalReplacementCost(); + IfcCostValue* TotalReplacementCost() const; void setTotalReplacementCost(IfcCostValue* v); /// The name of the person or organization that 'owns' the asset. - IfcActorSelect Owner(); + IfcActorSelect Owner() const; void setOwner(IfcActorSelect v); /// The name of the person or organization that 'uses' the asset. - IfcActorSelect User(); + IfcActorSelect User() const; void setUser(IfcActorSelect v); /// The person designated to be responsible for the asset. /// NOTE: In some regulations (for example, UK Health and Safety at Work Act, Electricity at Work Regulations), management of assets must have a person identified as being responsible and to whom regulatory, insurance and other organizations communicate. In places where there is not a legal requirement, the responsible person would be the asset manager but would not have a legal status. - IfcPerson* ResponsiblePerson(); + IfcPerson* ResponsiblePerson() const; void setResponsiblePerson(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(); + IfcCalendarDate* IncorporationDate() const; void setIncorporationDate(IfcCalendarDate* v); /// The current value of an asset within the accounting rules and procedures of an organization. - IfcCostValue* DepreciatedValue(); + IfcCostValue* DepreciatedValue() const; void setDepreciatedValue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "AssetID"; case 6: return "OriginalValue"; case 7: return "CurrentValue"; case 8: return "TotalReplacementCost"; case 9: return "Owner"; case 10: return "User"; case 11: return "ResponsiblePerson"; case 12: return "IncorporationDate"; case 13: return "DepreciatedValue"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAsset (IfcAbstractEntityPtr e); + IfcAsset (IfcAbstractEntity* e); IfcAsset (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect v10_Owner, IfcActorSelect v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); - typedef IfcAsset* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAsset > > list; - typedef IfcTemplatedEntityList< IfcAsset >::it it; + typedef IfcTemplatedEntityList< IfcAsset > list; }; /// Definition from ISO/CD 10303-42:1992: A B-spline curve is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. The B-spline curve has been selected as the most stable format to represent all types of polynomial or rational parametric curves. With appropriate attribute values it is capable of representing single span or spline curves of explicit polynomial, rational, Bezier or B-spline type. /// @@ -32887,32 +31767,30 @@ public: class IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. - int Degree(); + int Degree() const; void setDegree(int v); /// The list of control points for the curve. - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > ControlPointsList(); - void setControlPointsList(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr ControlPointsList() const; + void setControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); /// Used to identify particular types of curve; it is for information only. - IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm(); + IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm() const; void setCurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v); /// Indication of whether the curve is closed; it is for information only. - bool ClosedCurve(); + bool ClosedCurve() const; void setClosedCurve(bool v); /// Indication whether the curve self-intersects or not; it is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Degree"; case 1: return "ControlPointsList"; case 2: return "CurveForm"; case 3: return "ClosedCurve"; case 4: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBSplineCurve (IfcAbstractEntityPtr e); - IfcBSplineCurve (int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); - typedef IfcBSplineCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBSplineCurve > > list; - typedef IfcTemplatedEntityList< IfcBSplineCurve >::it it; + IfcBSplineCurve (IfcAbstractEntity* e); + IfcBSplineCurve (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); + typedef IfcTemplatedEntityList< IfcBSplineCurve > list; }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -33015,20 +31893,18 @@ public: class IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. - IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType(); + IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBeamType (IfcAbstractEntityPtr e); - IfcBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); - typedef IfcBeamType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeamType > > list; - typedef IfcTemplatedEntityList< IfcBeamType >::it it; + IfcBeamType (IfcAbstractEntity* e); + IfcBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcBeamType > list; }; class IfcBezierCurve : public IfcBSplineCurve { @@ -33036,15 +31912,13 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBSplineCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBSplineCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBezierCurve (IfcAbstractEntityPtr e); - IfcBezierCurve (int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); - typedef IfcBezierCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBezierCurve > > list; - typedef IfcTemplatedEntityList< IfcBezierCurve >::it it; + IfcBezierCurve (IfcAbstractEntity* e); + IfcBezierCurve (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); + typedef IfcTemplatedEntityList< IfcBezierCurve > list; }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: /// @@ -33078,20 +31952,18 @@ public: class IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. - IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType(); + IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoilerType (IfcAbstractEntityPtr e); - IfcBoilerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); - typedef IfcBoilerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoilerType > > list; - typedef IfcTemplatedEntityList< IfcBoilerType >::it it; + IfcBoilerType (IfcAbstractEntity* e); + IfcBoilerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcBoilerType > list; }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -33461,15 +32333,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElement (IfcAbstractEntityPtr e); + IfcBuildingElement (IfcAbstractEntity* e); IfcBuildingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcBuildingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElement > > list; - typedef IfcTemplatedEntityList< IfcBuildingElement >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; class IfcBuildingElementComponent : public IfcBuildingElement { @@ -33477,15 +32347,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementComponent (IfcAbstractEntityPtr e); + IfcBuildingElementComponent (IfcAbstractEntity* e); IfcBuildingElementComponent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcBuildingElementComponent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementComponent > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementComponent >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElementComponent > list; }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -33509,15 +32377,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementPart (IfcAbstractEntityPtr e); + IfcBuildingElementPart (IfcAbstractEntity* e); IfcBuildingElementPart (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcBuildingElementPart* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementPart > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementPart >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -33712,21 +32578,19 @@ public: class IfcBuildingElementProxy : public IfcBuildingElement { public: /// Whether the optional attribute CompositionType is defined for this IfcBuildingElementProxy - bool hasCompositionType(); - IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType(); + bool hasCompositionType() const; + IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType() const; void setCompositionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "CompositionType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementProxy (IfcAbstractEntityPtr e); + IfcBuildingElementProxy (IfcAbstractEntity* e); IfcBuildingElementProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); - typedef IfcBuildingElementProxy* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementProxy > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementProxy >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; }; /// Definition from IAI: /// TheÿIfcBuildingElementProxyType defines a list of @@ -33765,20 +32629,18 @@ public: 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(); + IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementProxyType (IfcAbstractEntityPtr e); - IfcBuildingElementProxyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); - typedef IfcBuildingElementProxyType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementProxyType > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementProxyType >::it it; + IfcBuildingElementProxyType (IfcAbstractEntity* e); + IfcBuildingElementProxyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcBuildingElementProxyType > list; }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: /// @@ -33809,20 +32671,18 @@ public: class IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. - IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType(); + IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableCarrierFittingType (IfcAbstractEntityPtr e); - IfcCableCarrierFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); - typedef IfcCableCarrierFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierFittingType > > list; - typedef IfcTemplatedEntityList< IfcCableCarrierFittingType >::it it; + IfcCableCarrierFittingType (IfcAbstractEntity* e); + IfcCableCarrierFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); + 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: /// @@ -33859,20 +32719,18 @@ public: class IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. - IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType(); + IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableCarrierSegmentType (IfcAbstractEntityPtr e); - IfcCableCarrierSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); - typedef IfcCableCarrierSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierSegmentType > > list; - typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType >::it it; + IfcCableCarrierSegmentType (IfcAbstractEntity* e); + IfcCableCarrierSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType > list; }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: /// @@ -33918,20 +32776,18 @@ public: class IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. - IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType(); + IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableSegmentType (IfcAbstractEntityPtr e); - IfcCableSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); - typedef IfcCableSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableSegmentType > > list; - typedef IfcTemplatedEntityList< IfcCableSegmentType >::it it; + IfcCableSegmentType (IfcAbstractEntity* e); + IfcCableSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); + 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: /// @@ -33968,20 +32824,18 @@ public: class IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). - IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType(); + IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcChillerType (IfcAbstractEntityPtr e); - IfcChillerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); - typedef IfcChillerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcChillerType > > list; - typedef IfcTemplatedEntityList< IfcChillerType >::it it; + IfcChillerType (IfcAbstractEntity* e); + IfcChillerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcChillerType > list; }; /// Definition from ISO/CD 10303-42:1992: An IfcCircle is defined by a radius and the location and orientation of the circle. Interpretation of data should be as follows: /// @@ -34013,20 +32867,18 @@ public: class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcConic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCircle (IfcAbstractEntityPtr e); + IfcCircle (IfcAbstractEntity* e); IfcCircle (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius); - typedef IfcCircle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircle > > list; - typedef IfcTemplatedEntityList< IfcCircle >::it it; + typedef IfcTemplatedEntityList< IfcCircle > list; }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: /// @@ -34058,20 +32910,18 @@ public: class IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) - IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType(); + IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoilType (IfcAbstractEntityPtr e); - IfcCoilType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); - typedef IfcCoilType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoilType > > list; - typedef IfcTemplatedEntityList< IfcCoilType >::it it; + IfcCoilType (IfcAbstractEntity* e); + IfcCoilType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCoilType > list; }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -34349,15 +33199,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColumn (IfcAbstractEntityPtr e); + IfcColumn (IfcAbstractEntity* e); IfcColumn (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcColumn* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumn > > list; - typedef IfcTemplatedEntityList< IfcColumn >::it it; + 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: /// @@ -34389,20 +33237,18 @@ public: class IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). - IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType(); + IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowMovingDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompressorType (IfcAbstractEntityPtr e); - IfcCompressorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); - typedef IfcCompressorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompressorType > > list; - typedef IfcTemplatedEntityList< IfcCompressorType >::it it; + IfcCompressorType (IfcAbstractEntity* e); + IfcCompressorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); + 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: /// @@ -34434,20 +33280,18 @@ public: class IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. - IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType(); + IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCondenserType (IfcAbstractEntityPtr e); - IfcCondenserType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); - typedef IfcCondenserType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCondenserType > > list; - typedef IfcTemplatedEntityList< IfcCondenserType >::it it; + IfcCondenserType (IfcAbstractEntity* e); + IfcCondenserType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCondenserType > list; }; class IfcCondition : public IfcGroup { @@ -34455,35 +33299,31 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCondition (IfcAbstractEntityPtr e); + IfcCondition (IfcAbstractEntity* e); IfcCondition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCondition > > list; - typedef IfcTemplatedEntityList< IfcCondition >::it it; + typedef IfcTemplatedEntityList< IfcCondition > list; }; class IfcConditionCriterion : public IfcControl { public: - IfcConditionCriterionSelect Criterion(); + IfcConditionCriterionSelect Criterion() const; void setCriterion(IfcConditionCriterionSelect v); - IfcDateTimeSelect CriterionDateTime(); + IfcDateTimeSelect CriterionDateTime() const; void setCriterionDateTime(IfcDateTimeSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Criterion"; case 6: return "CriterionDateTime"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConditionCriterion (IfcAbstractEntityPtr e); + IfcConditionCriterion (IfcAbstractEntity* e); IfcConditionCriterion (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcConditionCriterionSelect v6_Criterion, IfcDateTimeSelect v7_CriterionDateTime); - typedef IfcConditionCriterion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConditionCriterion > > list; - typedef IfcTemplatedEntityList< IfcConditionCriterion >::it it; + typedef IfcTemplatedEntityList< IfcConditionCriterion > list; }; /// IfcConstructionEquipmentResource is usage of construction equipment to assist in the performance of construction. Construction Equipment resources are wholly or partially consumed or occupied in the performance of construction. /// @@ -34512,15 +33352,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionEquipmentResource (IfcAbstractEntityPtr e); + IfcConstructionEquipmentResource (IfcAbstractEntity* e); IfcConstructionEquipmentResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); - typedef IfcConstructionEquipmentResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionEquipmentResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource >::it it; + typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -34551,25 +33389,23 @@ public: class IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute Suppliers is defined for this IfcConstructionMaterialResource - bool hasSuppliers(); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Suppliers(); - void setSuppliers(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + bool hasSuppliers() const; + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Suppliers() const; + void setSuppliers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute UsageRatio is defined for this IfcConstructionMaterialResource - bool hasUsageRatio(); - IfcRatioMeasure UsageRatio(); + bool hasUsageRatio() const; + IfcRatioMeasure UsageRatio() const; void setUsageRatio(IfcRatioMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_DOUBLE; } return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Suppliers"; case 10: return "UsageRatio"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionMaterialResource (IfcAbstractEntityPtr e); - IfcConstructionMaterialResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntities > v10_Suppliers, boost::optional< IfcRatioMeasure > v11_UsageRatio); - typedef IfcConstructionMaterialResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionMaterialResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionMaterialResource >::it it; + IfcConstructionMaterialResource (IfcAbstractEntity* e); + IfcConstructionMaterialResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< IfcRatioMeasure > v11_UsageRatio); + typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -34591,15 +33427,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionProductResource (IfcAbstractEntityPtr e); + IfcConstructionProductResource (IfcAbstractEntity* e); IfcConstructionProductResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); - typedef IfcConstructionProductResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionProductResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionProductResource >::it it; + 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: /// @@ -34633,20 +33467,18 @@ public: class IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. - IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType(); + IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCooledBeamType (IfcAbstractEntityPtr e); - IfcCooledBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); - typedef IfcCooledBeamType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCooledBeamType > > list; - typedef IfcTemplatedEntityList< IfcCooledBeamType >::it it; + IfcCooledBeamType (IfcAbstractEntity* e); + IfcCooledBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); + 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: /// @@ -34684,20 +33516,18 @@ public: class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). - IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType(); + IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoolingTowerType (IfcAbstractEntityPtr e); - IfcCoolingTowerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); - typedef IfcCoolingTowerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoolingTowerType > > list; - typedef IfcTemplatedEntityList< IfcCoolingTowerType >::it it; + IfcCoolingTowerType (IfcAbstractEntity* e); + IfcCoolingTowerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCoolingTowerType > list; }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -34926,24 +33756,22 @@ public: class IfcCovering : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCovering - bool hasPredefinedType(); + 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(); + IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > CoversSpaces(); // INVERSE IfcRelCoversSpaces::RelatedCoverings - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > Covers(); // INVERSE IfcRelCoversBldgElements::RelatedCoverings + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelCoversSpaces >::ptr CoversSpaces() const; // INVERSE IfcRelCoversSpaces::RelatedCoverings + IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr Covers() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCovering (IfcAbstractEntityPtr e); + IfcCovering (IfcAbstractEntity* e); IfcCovering (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); - typedef IfcCovering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > list; - typedef IfcTemplatedEntityList< IfcCovering >::it it; + typedef IfcTemplatedEntityList< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -35088,15 +33916,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurtainWall (IfcAbstractEntityPtr e); + IfcCurtainWall (IfcAbstractEntity* e); IfcCurtainWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcCurtainWall* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurtainWall > > list; - typedef IfcTemplatedEntityList< IfcCurtainWall >::it it; + typedef IfcTemplatedEntityList< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -35135,20 +33961,18 @@ public: class IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. - IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType(); + IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDamperType (IfcAbstractEntityPtr e); - IfcDamperType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); - typedef IfcDamperType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDamperType > > list; - typedef IfcTemplatedEntityList< IfcDamperType >::it it; + IfcDamperType (IfcAbstractEntity* e); + IfcDamperType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcDamperType > list; }; class IfcDiameterDimension : public IfcDimensionCurveDirectedCallout { @@ -35156,15 +33980,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDimensionCurveDirectedCallout::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDiameterDimension (IfcAbstractEntityPtr e); - IfcDiameterDimension (IfcEntities v1_Contents); - typedef IfcDiameterDimension* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiameterDimension > > list; - typedef IfcTemplatedEntityList< IfcDiameterDimension >::it it; + IfcDiameterDimension (IfcAbstractEntity* e); + IfcDiameterDimension (IfcEntityList::ptr v1_Contents); + typedef IfcTemplatedEntityList< IfcDiameterDimension > list; }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -35344,15 +34166,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDiscreteAccessory (IfcAbstractEntityPtr e); + IfcDiscreteAccessory (IfcAbstractEntity* e); IfcDiscreteAccessory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDiscreteAccessory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiscreteAccessory > > list; - typedef IfcTemplatedEntityList< IfcDiscreteAccessory >::it it; + typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -35547,15 +34367,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponentType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDiscreteAccessoryType (IfcAbstractEntityPtr e); - IfcDiscreteAccessoryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDiscreteAccessoryType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiscreteAccessoryType > > list; - typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType >::it it; + IfcDiscreteAccessoryType (IfcAbstractEntity* e); + IfcDiscreteAccessoryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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: /// @@ -35597,20 +34415,18 @@ public: class IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. - IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType(); + IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionChamberElementType (IfcAbstractEntityPtr e); - IfcDistributionChamberElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); - typedef IfcDistributionChamberElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionChamberElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionChamberElementType >::it it; + IfcDistributionChamberElementType (IfcAbstractEntity* e); + IfcDistributionChamberElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); + 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). /// @@ -35671,15 +34487,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionControlElementType (IfcAbstractEntityPtr e); - IfcDistributionControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDistributionControlElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionControlElementType >::it it; + IfcDistributionControlElementType (IfcAbstractEntity* e); + IfcDistributionControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcDistributionControlElementType > list; }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -35848,15 +34662,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionElement (IfcAbstractEntityPtr e); + IfcDistributionElement (IfcAbstractEntity* e); IfcDistributionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDistributionElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionElement >::it it; + 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. /// @@ -35931,16 +34743,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > HasControlElements(); // INVERSE IfcRelFlowControlElements::RelatingFlowElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionFlowElement (IfcAbstractEntityPtr e); + IfcDistributionFlowElement (IfcAbstractEntity* e); IfcDistributionFlowElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDistributionFlowElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionFlowElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionFlowElement >::it it; + typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -36027,22 +34837,20 @@ public: class IfcDistributionPort : public IfcPort { public: /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort - bool hasFlowDirection(); + bool hasFlowDirection() const; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. - IfcFlowDirectionEnum::IfcFlowDirectionEnum FlowDirection(); + IfcFlowDirectionEnum::IfcFlowDirectionEnum FlowDirection() const; void setFlowDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "FlowDirection"; } return IfcPort::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionPort (IfcAbstractEntityPtr e); + IfcDistributionPort (IfcAbstractEntity* e); IfcDistributionPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection); - typedef IfcDistributionPort* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionPort > > list; - typedef IfcTemplatedEntityList< IfcDistributionPort >::it it; + typedef IfcTemplatedEntityList< IfcDistributionPort > list; }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -36403,31 +35211,29 @@ public: class IfcDoor : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcDoor - bool hasOverallHeight(); + 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. - IfcPositiveLengthMeasure OverallHeight(); + IfcPositiveLengthMeasure OverallHeight() const; void setOverallHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute OverallWidth is defined for this IfcDoor - bool hasOverallWidth(); + bool hasOverallWidth() const; /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. - IfcPositiveLengthMeasure OverallWidth(); + IfcPositiveLengthMeasure OverallWidth() const; void setOverallWidth(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoor (IfcAbstractEntityPtr e); + IfcDoor (IfcAbstractEntity* e); IfcDoor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth); - typedef IfcDoor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoor > > list; - typedef IfcTemplatedEntityList< IfcDoor >::it it; + 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: /// @@ -36461,20 +35267,18 @@ public: class IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. - IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType(); + IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctFittingType (IfcAbstractEntityPtr e); - IfcDuctFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); - typedef IfcDuctFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctFittingType > > list; - typedef IfcTemplatedEntityList< IfcDuctFittingType >::it it; + IfcDuctFittingType (IfcAbstractEntity* e); + IfcDuctFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); + 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: /// @@ -36508,20 +35312,18 @@ public: class IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. - IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType(); + IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctSegmentType (IfcAbstractEntityPtr e); - IfcDuctSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); - typedef IfcDuctSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSegmentType > > list; - typedef IfcTemplatedEntityList< IfcDuctSegmentType >::it it; + IfcDuctSegmentType (IfcAbstractEntity* e); + IfcDuctSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); + 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: /// @@ -36552,40 +35354,36 @@ public: class IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. - IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType(); + IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTreatmentDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctSilencerType (IfcAbstractEntityPtr e); - IfcDuctSilencerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); - typedef IfcDuctSilencerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSilencerType > > list; - typedef IfcTemplatedEntityList< IfcDuctSilencerType >::it it; + IfcDuctSilencerType (IfcAbstractEntity* e); + IfcDuctSilencerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcDuctSilencerType > list; }; class IfcEdgeFeature : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute FeatureLength is defined for this IfcEdgeFeature - bool hasFeatureLength(); - IfcPositiveLengthMeasure FeatureLength(); + bool hasFeatureLength() const; + IfcPositiveLengthMeasure FeatureLength() const; void setFeatureLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; } return IfcFeatureElementSubtraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "FeatureLength"; } return IfcFeatureElementSubtraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdgeFeature (IfcAbstractEntityPtr e); + IfcEdgeFeature (IfcAbstractEntity* e); IfcEdgeFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength); - typedef IfcEdgeFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeFeature > > list; - typedef IfcTemplatedEntityList< IfcEdgeFeature >::it it; + 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: /// @@ -36619,20 +35417,18 @@ public: class IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. - IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType(); + IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricApplianceType (IfcAbstractEntityPtr e); - IfcElectricApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); - typedef IfcElectricApplianceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricApplianceType > > list; - typedef IfcTemplatedEntityList< IfcElectricApplianceType >::it it; + IfcElectricApplianceType (IfcAbstractEntity* e); + IfcElectricApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcElectricApplianceType > list; }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: /// @@ -36664,20 +35460,18 @@ public: 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(); + IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowStorageDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricFlowStorageDeviceType (IfcAbstractEntityPtr e); - IfcElectricFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); - typedef IfcElectricFlowStorageDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > > list; - typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType >::it it; + IfcElectricFlowStorageDeviceType (IfcAbstractEntity* e); + IfcElectricFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); + 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: /// @@ -36714,38 +35508,34 @@ public: class IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. - IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType(); + IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricGeneratorType (IfcAbstractEntityPtr e); - IfcElectricGeneratorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); - typedef IfcElectricGeneratorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricGeneratorType > > list; - typedef IfcTemplatedEntityList< IfcElectricGeneratorType >::it it; + IfcElectricGeneratorType (IfcAbstractEntity* e); + IfcElectricGeneratorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcElectricGeneratorType > list; }; class IfcElectricHeaterType : public IfcFlowTerminalType { public: - IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum PredefinedType(); + IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricHeaterType (IfcAbstractEntityPtr e); - IfcElectricHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType); - typedef IfcElectricHeaterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricHeaterType > > list; - typedef IfcTemplatedEntityList< IfcElectricHeaterType >::it it; + IfcElectricHeaterType (IfcAbstractEntity* e); + IfcElectricHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcElectricHeaterType > list; }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: /// @@ -36777,20 +35567,18 @@ public: class IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. - IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType(); + IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricMotorType (IfcAbstractEntityPtr e); - IfcElectricMotorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); - typedef IfcElectricMotorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricMotorType > > list; - typedef IfcTemplatedEntityList< IfcElectricMotorType >::it it; + IfcElectricMotorType (IfcAbstractEntity* e); + IfcElectricMotorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); + 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: /// @@ -36822,20 +35610,18 @@ public: class IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. - IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType(); + IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricTimeControlType (IfcAbstractEntityPtr e); - IfcElectricTimeControlType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); - typedef IfcElectricTimeControlType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricTimeControlType > > list; - typedef IfcTemplatedEntityList< IfcElectricTimeControlType >::it it; + IfcElectricTimeControlType (IfcAbstractEntity* e); + IfcElectricTimeControlType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; }; class IfcElectricalCircuit : public IfcSystem { @@ -36843,15 +35629,13 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSystem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricalCircuit (IfcAbstractEntityPtr e); + IfcElectricalCircuit (IfcAbstractEntity* e); IfcElectricalCircuit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcElectricalCircuit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricalCircuit > > list; - typedef IfcTemplatedEntityList< IfcElectricalCircuit >::it it; + typedef IfcTemplatedEntityList< IfcElectricalCircuit > list; }; class IfcElectricalElement : public IfcElement { @@ -36859,15 +35643,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricalElement (IfcAbstractEntityPtr e); + IfcElectricalElement (IfcAbstractEntity* e); IfcElectricalElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcElectricalElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricalElement > > list; - typedef IfcTemplatedEntityList< IfcElectricalElement >::it it; + typedef IfcTemplatedEntityList< IfcElectricalElement > list; }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -36883,15 +35665,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEnergyConversionDevice (IfcAbstractEntityPtr e); + IfcEnergyConversionDevice (IfcAbstractEntity* e); IfcEnergyConversionDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcEnergyConversionDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyConversionDevice > > list; - typedef IfcTemplatedEntityList< IfcEnergyConversionDevice >::it it; + 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: /// @@ -36924,20 +35704,18 @@ public: class IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. - IfcFanTypeEnum::IfcFanTypeEnum PredefinedType(); + IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowMovingDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFanType (IfcAbstractEntityPtr e); - IfcFanType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); - typedef IfcFanType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFanType > > list; - typedef IfcTemplatedEntityList< IfcFanType >::it it; + IfcFanType (IfcAbstractEntity* e); + IfcFanType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); + 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: /// @@ -36971,20 +35749,18 @@ public: class IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. - IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType(); + IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTreatmentDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFilterType (IfcAbstractEntityPtr e); - IfcFilterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); - typedef IfcFilterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFilterType > > list; - typedef IfcTemplatedEntityList< IfcFilterType >::it it; + IfcFilterType (IfcAbstractEntity* e); + IfcFilterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); + 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: /// @@ -37022,20 +35798,18 @@ public: class IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. - IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType(); + IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFireSuppressionTerminalType (IfcAbstractEntityPtr e); - IfcFireSuppressionTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); - typedef IfcFireSuppressionTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFireSuppressionTerminalType > > list; - typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType >::it it; + IfcFireSuppressionTerminalType (IfcAbstractEntity* e); + IfcFireSuppressionTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType > list; }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -37051,15 +35825,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowController (IfcAbstractEntityPtr e); + IfcFlowController (IfcAbstractEntity* e); IfcFlowController (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowController* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowController > > list; - typedef IfcTemplatedEntityList< IfcFlowController >::it it; + 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. /// @@ -37071,15 +35843,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowFitting (IfcAbstractEntityPtr e); + IfcFlowFitting (IfcAbstractEntity* e); IfcFlowFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowFitting > > list; - typedef IfcTemplatedEntityList< IfcFlowFitting >::it it; + 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: /// @@ -37114,20 +35884,18 @@ public: class IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. - IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType(); + IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowInstrumentType (IfcAbstractEntityPtr e); - IfcFlowInstrumentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); - typedef IfcFlowInstrumentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowInstrumentType > > list; - typedef IfcTemplatedEntityList< IfcFlowInstrumentType >::it it; + IfcFlowInstrumentType (IfcAbstractEntity* e); + IfcFlowInstrumentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFlowInstrumentType > list; }; /// The distribution flow element IfcFlowMovingDevice defines the occurrence of an apparatus used to distribute, circulate or perform conveyance of fluids, including liquids and gases (such as a pump or fan), and typically participates in a flow distribution system. Its type is defined by IfcFlowMovingDeviceType or its subtypes. /// @@ -37139,15 +35907,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMovingDevice (IfcAbstractEntityPtr e); + IfcFlowMovingDevice (IfcAbstractEntity* e); IfcFlowMovingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowMovingDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMovingDevice > > list; - typedef IfcTemplatedEntityList< IfcFlowMovingDevice >::it it; + typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -37177,15 +35943,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowSegment (IfcAbstractEntityPtr e); + IfcFlowSegment (IfcAbstractEntity* e); IfcFlowSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowSegment > > list; - typedef IfcTemplatedEntityList< IfcFlowSegment >::it it; + typedef IfcTemplatedEntityList< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -37202,15 +35966,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowStorageDevice (IfcAbstractEntityPtr e); + IfcFlowStorageDevice (IfcAbstractEntity* e); IfcFlowStorageDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowStorageDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowStorageDevice > > list; - typedef IfcTemplatedEntityList< IfcFlowStorageDevice >::it it; + typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -37228,15 +35990,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTerminal (IfcAbstractEntityPtr e); + IfcFlowTerminal (IfcAbstractEntity* e); IfcFlowTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTerminal > > list; - typedef IfcTemplatedEntityList< IfcFlowTerminal >::it it; + 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. /// @@ -37248,15 +36008,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTreatmentDevice (IfcAbstractEntityPtr e); + IfcFlowTreatmentDevice (IfcAbstractEntity* e); IfcFlowTreatmentDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowTreatmentDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTreatmentDevice > > list; - typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice >::it it; + 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. /// @@ -37285,20 +36043,18 @@ public: /// The generic type of the footing. /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcFootingType. - IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType(); + IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFooting (IfcAbstractEntityPtr e); + IfcFooting (IfcAbstractEntity* e); IfcFooting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType); - typedef IfcFooting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFooting > > list; - typedef IfcTemplatedEntityList< IfcFooting >::it it; + typedef IfcTemplatedEntityList< IfcFooting > list; }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -37555,15 +36311,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMember (IfcAbstractEntityPtr e); + IfcMember (IfcAbstractEntity* e); IfcMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMember > > list; - typedef IfcTemplatedEntityList< IfcMember >::it it; + 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. /// @@ -37588,27 +36342,25 @@ public: /// The predefined generic type of the pile according to function. /// /// IFC 2x4 change:  Attribute made optional. Type information can be provided by IfcRelDefinesByType and IfcPileType. - IfcPileTypeEnum::IfcPileTypeEnum PredefinedType(); + IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; void setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); /// Whether the optional attribute ConstructionType is defined for this IfcPile - bool hasConstructionType(); + bool hasConstructionType() const; /// 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(); + IfcPileConstructionEnum::IfcPileConstructionEnum ConstructionType() const; void setConstructionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; case 9: return "ConstructionType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPile (IfcAbstractEntityPtr e); + IfcPile (IfcAbstractEntity* e); IfcPile (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); - typedef IfcPile* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPile > > list; - typedef IfcTemplatedEntityList< IfcPile >::it it; + typedef IfcTemplatedEntityList< IfcPile > list; }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -37843,15 +36595,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlate (IfcAbstractEntityPtr e); + IfcPlate (IfcAbstractEntity* e); IfcPlate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcPlate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlate > > list; - typedef IfcTemplatedEntityList< IfcPlate >::it it; + typedef IfcTemplatedEntityList< IfcPlate > list; }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -37988,24 +36738,22 @@ public: class IfcRailing : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRailing - bool hasPredefinedType(); + 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(); + IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRailing (IfcAbstractEntityPtr e); + IfcRailing (IfcAbstractEntity* e); IfcRailing (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); - typedef IfcRailing* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRailing > > list; - typedef IfcTemplatedEntityList< IfcRailing >::it it; + typedef IfcTemplatedEntityList< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -38142,20 +36890,18 @@ public: /// Figure 111 — Ramp placement class IfcRamp : public IfcBuildingElement { public: - IfcRampTypeEnum::IfcRampTypeEnum ShapeType(); + IfcRampTypeEnum::IfcRampTypeEnum ShapeType() const; void setShapeType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ShapeType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRamp (IfcAbstractEntityPtr e); + IfcRamp (IfcAbstractEntity* e); IfcRamp (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType); - typedef IfcRamp* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRamp > > list; - typedef IfcTemplatedEntityList< IfcRamp >::it it; + typedef IfcTemplatedEntityList< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -38350,33 +37096,29 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRampFlight (IfcAbstractEntityPtr e); + IfcRampFlight (IfcAbstractEntity* e); IfcRampFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcRampFlight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampFlight > > list; - typedef IfcTemplatedEntityList< IfcRampFlight >::it it; + typedef IfcTemplatedEntityList< IfcRampFlight > list; }; class IfcRationalBezierCurve : public IfcBezierCurve { public: - std::vector< double > /*[2:?]*/ WeightsData(); + std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "WeightsData"; } return IfcBezierCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRationalBezierCurve (IfcAbstractEntityPtr e); - IfcRationalBezierCurve (int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData); - typedef IfcRationalBezierCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRationalBezierCurve > > list; - typedef IfcTemplatedEntityList< IfcRationalBezierCurve >::it it; + IfcRationalBezierCurve (IfcAbstractEntity* e); + IfcRationalBezierCurve (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData); + typedef IfcTemplatedEntityList< IfcRationalBezierCurve > list; }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -38389,21 +37131,19 @@ public: class IfcReinforcingElement : public IfcBuildingElementComponent { public: /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement - bool hasSteelGrade(); - IfcLabel SteelGrade(); + bool hasSteelGrade() const; + IfcLabel SteelGrade() const; void setSteelGrade(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcBuildingElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "SteelGrade"; } return IfcBuildingElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingElement (IfcAbstractEntityPtr e); + IfcReinforcingElement (IfcAbstractEntity* e); IfcReinforcingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade); - typedef IfcReinforcingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingElement > > list; - typedef IfcTemplatedEntityList< IfcReinforcingElement >::it it; + 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. /// @@ -38432,37 +37172,35 @@ public: class IfcReinforcingMesh : public IfcReinforcingElement { public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh - bool hasMeshLength(); - IfcPositiveLengthMeasure MeshLength(); + bool hasMeshLength() const; + IfcPositiveLengthMeasure MeshLength() const; void setMeshLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh - bool hasMeshWidth(); - IfcPositiveLengthMeasure MeshWidth(); + bool hasMeshWidth() const; + IfcPositiveLengthMeasure MeshWidth() const; void setMeshWidth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure LongitudinalBarNominalDiameter(); + IfcPositiveLengthMeasure LongitudinalBarNominalDiameter() const; void setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure TransverseBarNominalDiameter(); + IfcPositiveLengthMeasure TransverseBarNominalDiameter() const; void setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v); - IfcAreaMeasure LongitudinalBarCrossSectionArea(); + IfcAreaMeasure LongitudinalBarCrossSectionArea() const; void setLongitudinalBarCrossSectionArea(IfcAreaMeasure v); - IfcAreaMeasure TransverseBarCrossSectionArea(); + IfcAreaMeasure TransverseBarCrossSectionArea() const; void setTransverseBarCrossSectionArea(IfcAreaMeasure v); - IfcPositiveLengthMeasure LongitudinalBarSpacing(); + IfcPositiveLengthMeasure LongitudinalBarSpacing() const; void setLongitudinalBarSpacing(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure TransverseBarSpacing(); + IfcPositiveLengthMeasure TransverseBarSpacing() const; void setTransverseBarSpacing(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "MeshLength"; case 10: return "MeshWidth"; case 11: return "LongitudinalBarNominalDiameter"; case 12: return "TransverseBarNominalDiameter"; case 13: return "LongitudinalBarCrossSectionArea"; case 14: return "TransverseBarCrossSectionArea"; case 15: return "LongitudinalBarSpacing"; case 16: return "TransverseBarSpacing"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingMesh (IfcAbstractEntityPtr e); + IfcReinforcingMesh (IfcAbstractEntity* e); IfcReinforcingMesh (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, IfcPositiveLengthMeasure v12_LongitudinalBarNominalDiameter, IfcPositiveLengthMeasure v13_TransverseBarNominalDiameter, IfcAreaMeasure v14_LongitudinalBarCrossSectionArea, IfcAreaMeasure v15_TransverseBarCrossSectionArea, IfcPositiveLengthMeasure v16_LongitudinalBarSpacing, IfcPositiveLengthMeasure v17_TransverseBarSpacing); - typedef IfcReinforcingMesh* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingMesh > > list; - typedef IfcTemplatedEntityList< IfcReinforcingMesh >::it it; + typedef IfcTemplatedEntityList< IfcReinforcingMesh > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -38611,40 +37349,36 @@ public: /// Figure 119 — Roof placement class IfcRoof : public IfcBuildingElement { public: - IfcRoofTypeEnum::IfcRoofTypeEnum ShapeType(); + IfcRoofTypeEnum::IfcRoofTypeEnum ShapeType() const; void setShapeType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ShapeType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoof (IfcAbstractEntityPtr e); + IfcRoof (IfcAbstractEntity* e); IfcRoof (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType); - typedef IfcRoof* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoof > > list; - typedef IfcTemplatedEntityList< IfcRoof >::it it; + typedef IfcTemplatedEntityList< IfcRoof > list; }; class IfcRoundedEdgeFeature : public IfcEdgeFeature { public: /// Whether the optional attribute Radius is defined for this IfcRoundedEdgeFeature - bool hasRadius(); - IfcPositiveLengthMeasure Radius(); + bool hasRadius() const; + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcEdgeFeature::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Radius"; } return IfcEdgeFeature::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoundedEdgeFeature (IfcAbstractEntityPtr e); + IfcRoundedEdgeFeature (IfcAbstractEntity* e); IfcRoundedEdgeFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Radius); - typedef IfcRoundedEdgeFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoundedEdgeFeature > > list; - typedef IfcTemplatedEntityList< IfcRoundedEdgeFeature >::it it; + 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: /// @@ -38697,20 +37431,18 @@ public: class IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. - IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType(); + IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSensorType (IfcAbstractEntityPtr e); - IfcSensorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); - typedef IfcSensorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSensorType > > list; - typedef IfcTemplatedEntityList< IfcSensorType >::it it; + IfcSensorType (IfcAbstractEntity* e); + IfcSensorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSensorType > list; }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -38975,25 +37707,23 @@ public: class IfcSlab : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSlab - bool hasPredefinedType(); + 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(); + IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlab (IfcAbstractEntityPtr e); + IfcSlab (IfcAbstractEntity* e); IfcSlab (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); - typedef IfcSlab* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlab > > list; - typedef IfcTemplatedEntityList< IfcSlab >::it it; + typedef IfcTemplatedEntityList< IfcSlab > list; }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -39162,20 +37892,18 @@ public: /// Figure 128 — Stair placement class IfcStair : public IfcBuildingElement { public: - IfcStairTypeEnum::IfcStairTypeEnum ShapeType(); + IfcStairTypeEnum::IfcStairTypeEnum ShapeType() const; void setShapeType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ShapeType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStair (IfcAbstractEntityPtr e); + IfcStair (IfcAbstractEntity* e); IfcStair (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType); - typedef IfcStair* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStair > > list; - typedef IfcTemplatedEntityList< IfcStair >::it it; + typedef IfcTemplatedEntityList< IfcStair > list; }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -39347,45 +38075,43 @@ public: class IfcStairFlight : public IfcBuildingElement { public: /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight - bool hasNumberOfRiser(); + 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(); + int NumberOfRiser() const; void setNumberOfRiser(int v); /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight - bool hasNumberOfTreads(); + bool hasNumberOfTreads() const; /// 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(); + int NumberOfTreads() const; void setNumberOfTreads(int v); /// Whether the optional attribute RiserHeight is defined for this IfcStairFlight - bool hasRiserHeight(); + bool hasRiserHeight() const; /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - IfcPositiveLengthMeasure RiserHeight(); + IfcPositiveLengthMeasure RiserHeight() const; void setRiserHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute TreadLength is defined for this IfcStairFlight - bool hasTreadLength(); + bool hasTreadLength() const; /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - IfcPositiveLengthMeasure TreadLength(); + IfcPositiveLengthMeasure TreadLength() const; void setTreadLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_INT; case 9: return IfcUtil::Argument_INT; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRiser"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStairFlight (IfcAbstractEntityPtr e); + IfcStairFlight (IfcAbstractEntity* e); IfcStairFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength); - typedef IfcStairFlight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairFlight > > list; - typedef IfcTemplatedEntityList< IfcStairFlight >::it it; + 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. /// @@ -39413,10 +38139,10 @@ public: class IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. - IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType(); + IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType() const; void setPredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v); /// Whether the optional attribute OrientationOf2DPlane is defined for this IfcStructuralAnalysisModel - bool hasOrientationOf2DPlane(); + bool hasOrientationOf2DPlane() const; /// 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 @@ -39427,72 +38153,68 @@ 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(); + IfcAxis2Placement3D* OrientationOf2DPlane() const; void setOrientationOf2DPlane(IfcAxis2Placement3D* v); /// Whether the optional attribute LoadedBy is defined for this IfcStructuralAnalysisModel - bool hasLoadedBy(); + bool hasLoadedBy() const; /// References to all load groups to be analyzed. - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > LoadedBy(); - void setLoadedBy(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > v); + IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr LoadedBy() const; + void setLoadedBy(IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr v); /// Whether the optional attribute HasResults is defined for this IfcStructuralAnalysisModel - bool hasHasResults(); + bool hasHasResults() const; /// References to all result groups available for this structural analysis model. - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > HasResults(); - void setHasResults(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > v); + IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr HasResults() const; + void setHasResults(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "OrientationOf2DPlane"; case 7: return "LoadedBy"; case 8: return "HasResults"; } return IfcSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralAnalysisModel (IfcAbstractEntityPtr e); - IfcStructuralAnalysisModel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > > v8_LoadedBy, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > > v9_HasResults); - typedef IfcStructuralAnalysisModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > list; - typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel >::it it; + IfcStructuralAnalysisModel (IfcAbstractEntity* e); + IfcStructuralAnalysisModel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults); + typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; class IfcTendon : public IfcReinforcingElement { public: - IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType(); + IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); - IfcPositiveLengthMeasure NominalDiameter(); + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); - IfcAreaMeasure CrossSectionArea(); + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute TensionForce is defined for this IfcTendon - bool hasTensionForce(); - IfcForceMeasure TensionForce(); + bool hasTensionForce() const; + IfcForceMeasure TensionForce() const; void setTensionForce(IfcForceMeasure v); /// Whether the optional attribute PreStress is defined for this IfcTendon - bool hasPreStress(); - IfcPressureMeasure PreStress(); + bool hasPreStress() const; + IfcPressureMeasure PreStress() const; void setPreStress(IfcPressureMeasure v); /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon - bool hasFrictionCoefficient(); - IfcNormalisedRatioMeasure FrictionCoefficient(); + bool hasFrictionCoefficient() const; + IfcNormalisedRatioMeasure FrictionCoefficient() const; void setFrictionCoefficient(IfcNormalisedRatioMeasure v); /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon - bool hasAnchorageSlip(); - IfcPositiveLengthMeasure AnchorageSlip(); + bool hasAnchorageSlip() const; + IfcPositiveLengthMeasure AnchorageSlip() const; void setAnchorageSlip(IfcPositiveLengthMeasure v); /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon - bool hasMinCurvatureRadius(); - IfcPositiveLengthMeasure MinCurvatureRadius(); + bool hasMinCurvatureRadius() const; + IfcPositiveLengthMeasure MinCurvatureRadius() const; void setMinCurvatureRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "TensionForce"; case 13: return "PreStress"; case 14: return "FrictionCoefficient"; case 15: return "AnchorageSlip"; case 16: return "MinCurvatureRadius"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTendon (IfcAbstractEntityPtr e); + IfcTendon (IfcAbstractEntity* e); IfcTendon (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, IfcPositiveLengthMeasure v11_NominalDiameter, IfcAreaMeasure v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius); - typedef IfcTendon* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendon > > list; - typedef IfcTemplatedEntityList< IfcTendon >::it it; + typedef IfcTemplatedEntityList< IfcTendon > list; }; class IfcTendonAnchor : public IfcReinforcingElement { @@ -39500,15 +38222,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTendonAnchor (IfcAbstractEntityPtr e); + IfcTendonAnchor (IfcAbstractEntity* e); IfcTendonAnchor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade); - typedef IfcTendonAnchor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendonAnchor > > list; - typedef IfcTemplatedEntityList< IfcTendonAnchor >::it it; + 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: /// @@ -39535,20 +38255,18 @@ public: class IfcVibrationIsolatorType : public IfcDiscreteAccessoryType { public: /// Defines the type of vibration isolator. - IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType(); + IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDiscreteAccessoryType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVibrationIsolatorType (IfcAbstractEntityPtr e); - IfcVibrationIsolatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); - typedef IfcVibrationIsolatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVibrationIsolatorType > > list; - typedef IfcTemplatedEntityList< IfcVibrationIsolatorType >::it it; + IfcVibrationIsolatorType (IfcAbstractEntity* e); + IfcVibrationIsolatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcVibrationIsolatorType > list; }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -39797,15 +38515,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWall (IfcAbstractEntityPtr e); + IfcWall (IfcAbstractEntity* e); IfcWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcWall* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWall > > list; - typedef IfcTemplatedEntityList< IfcWall >::it it; + typedef IfcTemplatedEntityList< IfcWall > list; }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -40014,15 +38730,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWall::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcWall::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWallStandardCase (IfcAbstractEntityPtr e); + IfcWallStandardCase (IfcAbstractEntity* e); IfcWallStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcWallStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallStandardCase > > list; - typedef IfcTemplatedEntityList< IfcWallStandardCase >::it it; + typedef IfcTemplatedEntityList< IfcWallStandardCase > list; }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -40385,31 +39099,29 @@ public: class IfcWindow : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcWindow - bool hasOverallHeight(); + 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. - IfcPositiveLengthMeasure OverallHeight(); + IfcPositiveLengthMeasure OverallHeight() const; void setOverallHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute OverallWidth is defined for this IfcWindow - bool hasOverallWidth(); + bool hasOverallWidth() const; /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. - IfcPositiveLengthMeasure OverallWidth(); + IfcPositiveLengthMeasure OverallWidth() const; void setOverallWidth(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindow (IfcAbstractEntityPtr e); + IfcWindow (IfcAbstractEntity* e); IfcWindow (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth); - typedef IfcWindow* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindow > > list; - typedef IfcTemplatedEntityList< IfcWindow >::it it; + 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: /// @@ -40445,20 +39157,18 @@ public: class IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. - IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType(); + IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActuatorType (IfcAbstractEntityPtr e); - IfcActuatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); - typedef IfcActuatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActuatorType > > list; - typedef IfcTemplatedEntityList< IfcActuatorType >::it it; + IfcActuatorType (IfcAbstractEntity* e); + IfcActuatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcActuatorType > list; }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: /// @@ -40489,20 +39199,18 @@ public: class IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. - IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType(); + IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAlarmType (IfcAbstractEntityPtr e); - IfcAlarmType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); - typedef IfcAlarmType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAlarmType > > list; - typedef IfcTemplatedEntityList< IfcAlarmType >::it it; + IfcAlarmType (IfcAbstractEntity* e); + IfcAlarmType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcAlarmType > list; }; /// Definition from ISO 6707-1:1989: Structural member designed to carry loads between or beyond points of support, usually narrow in relation to its length and horizontal or nearly so. /// @@ -40746,39 +39454,35 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBeam (IfcAbstractEntityPtr e); + IfcBeam (IfcAbstractEntity* e); IfcBeam (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcBeam* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeam > > list; - typedef IfcTemplatedEntityList< IfcBeam >::it it; + typedef IfcTemplatedEntityList< IfcBeam > list; }; class IfcChamferEdgeFeature : public IfcEdgeFeature { public: /// Whether the optional attribute Width is defined for this IfcChamferEdgeFeature - bool hasWidth(); - IfcPositiveLengthMeasure Width(); + bool hasWidth() const; + IfcPositiveLengthMeasure Width() const; void setWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute Height is defined for this IfcChamferEdgeFeature - bool hasHeight(); - IfcPositiveLengthMeasure Height(); + bool hasHeight() const; + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcEdgeFeature::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Width"; case 10: return "Height"; } return IfcEdgeFeature::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcChamferEdgeFeature (IfcAbstractEntityPtr e); + IfcChamferEdgeFeature (IfcAbstractEntity* e); IfcChamferEdgeFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Width, boost::optional< IfcPositiveLengthMeasure > v11_Height); - typedef IfcChamferEdgeFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcChamferEdgeFeature > > list; - typedef IfcTemplatedEntityList< IfcChamferEdgeFeature >::it it; + 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: /// @@ -40819,20 +39523,18 @@ public: class IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. - IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType(); + IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcControllerType (IfcAbstractEntityPtr e); - IfcControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); - typedef IfcControllerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcControllerType > > list; - typedef IfcTemplatedEntityList< IfcControllerType >::it it; + IfcControllerType (IfcAbstractEntity* e); + IfcControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcControllerType > list; }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. /// @@ -40870,15 +39572,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionChamberElement (IfcAbstractEntityPtr e); + IfcDistributionChamberElement (IfcAbstractEntity* e); IfcDistributionChamberElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDistributionChamberElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionChamberElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionChamberElement >::it it; + 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. /// @@ -40961,44 +39661,40 @@ public: class IfcDistributionControlElement : public IfcDistributionElement { public: /// Whether the optional attribute ControlElementId is defined for this IfcDistributionControlElement - bool hasControlElementId(); - IfcIdentifier ControlElementId(); + bool hasControlElementId() const; + IfcIdentifier ControlElementId() const; void setControlElementId(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ControlElementId"; } return IfcDistributionElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > AssignedToFlowElement(); // INVERSE IfcRelFlowControlElements::RelatedControlElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionControlElement (IfcAbstractEntityPtr e); + IfcDistributionControlElement (IfcAbstractEntity* e); IfcDistributionControlElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcIdentifier > v9_ControlElementId); - typedef IfcDistributionControlElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionControlElement >::it it; + typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; }; class IfcElectricDistributionPoint : public IfcFlowController { public: - IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum DistributionPointFunction(); + IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum DistributionPointFunction() const; void setDistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v); /// Whether the optional attribute UserDefinedFunction is defined for this IfcElectricDistributionPoint - bool hasUserDefinedFunction(); - IfcLabel UserDefinedFunction(); + bool hasUserDefinedFunction() const; + IfcLabel UserDefinedFunction() const; void setUserDefinedFunction(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcFlowController::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "DistributionPointFunction"; case 9: return "UserDefinedFunction"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricDistributionPoint (IfcAbstractEntityPtr e); + IfcElectricDistributionPoint (IfcAbstractEntity* e); IfcElectricDistributionPoint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< IfcLabel > v10_UserDefinedFunction); - typedef IfcElectricDistributionPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricDistributionPoint > > list; - typedef IfcTemplatedEntityList< IfcElectricDistributionPoint >::it it; + typedef IfcTemplatedEntityList< IfcElectricDistributionPoint > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -41030,36 +39726,34 @@ public: /// Simplified geometric representations may be used based on local agreements. class IfcReinforcingBar : public IfcReinforcingElement { public: - IfcPositiveLengthMeasure NominalDiameter(); + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); - IfcAreaMeasure CrossSectionArea(); + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar - bool hasBarLength(); - IfcPositiveLengthMeasure BarLength(); + bool hasBarLength() const; + IfcPositiveLengthMeasure BarLength() const; void setBarLength(IfcPositiveLengthMeasure v); - IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum BarRole(); + IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum BarRole() const; void setBarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBar - bool hasBarSurface(); - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface(); + bool hasBarSurface() const; + IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; void setBarSurface(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "NominalDiameter"; case 10: return "CrossSectionArea"; case 11: return "BarLength"; case 12: return "BarRole"; case 13: return "BarSurface"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingBar (IfcAbstractEntityPtr e); + IfcReinforcingBar (IfcAbstractEntity* e); IfcReinforcingBar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcPositiveLengthMeasure v10_NominalDiameter, IfcAreaMeasure v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); - typedef IfcReinforcingBar* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingBar > > list; - typedef IfcTemplatedEntityList< IfcReinforcingBar >::it it; + typedef IfcTemplatedEntityList< IfcReinforcingBar > list; }; void InitStringMap(); -IfcUtil::IfcSchemaEntity SchemaEntity(IfcAbstractEntityPtr e = 0); +IfcUtil::IfcBaseClass* SchemaEntity(IfcAbstractEntity* e = 0); } #endif diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 101aa05905..cf1090ae09 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -35,7 +35,7 @@ using namespace Ifc4; using namespace IfcParse; using namespace IfcWrite; -IfcUtil::IfcSchemaEntity Ifc4::SchemaEntity(IfcAbstractEntityPtr e) { +IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { switch(e->type()) { case Type::IfcAbsorbedDoseMeasure: return new IfcUtil::IfcEntitySelect(e); break; case Type::IfcAccelerationMeasure: return new IfcUtil::IfcEntitySelect(e); break; @@ -919,7 +919,7 @@ IfcUtil::IfcSchemaEntity Ifc4::SchemaEntity(IfcAbstractEntityPtr e) { case Type::IfcWorkTime: return new IfcWorkTime(e); break; case Type::IfcZShapeProfileDef: return new IfcZShapeProfileDef(e); break; case Type::IfcZone: return new IfcZone(e); break; - default: throw IfcException("Unable to find find keyword in schema"); break; + default: throw IfcException("Unable to find find keyword in schema"); break; } } @@ -6223,9268 +6223,9251 @@ IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum IfcWorkScheduleTypeEnum::FromSt } -#define RETURN_INVERSE(T) IfcEntities e = entity->getInverse(T::Class()); SHARED_PTR< IfcTemplatedEntityList > l ( new IfcTemplatedEntityList() ); for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { l->push(reinterpret_pointer_cast(*it)); } return l; - -#define RETURN_AS_SINGLE(T,a) return reinterpret_pointer_cast(*entity->getArgument(a)); - -#define RETURN_AS_LIST(T,a) IfcEntities e = *entity->getArgument(a); SHARED_PTR< IfcTemplatedEntityList > l ( new IfcTemplatedEntityList() ); for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { l->push(reinterpret_pointer_cast(*it)); } return l; - -#define RETURN_AS_LIST_LIST(T, a) \ - IfcEntitiesList e = *entity->getArgument(a); \ - SHARED_PTR< IfcTemplatedEntityListList > l ( new IfcTemplatedEntityListList() ); \ - for ( IfcEntityListList::it it = e->begin(); it != e->end(); ++ it ) { \ - auto q = *it; \ - std::vector li; \ - for ( auto jt = q.begin(); jt != q.end(); ++jt) { \ - li.push_back((T*)*jt); \ - } \ - l->push(li); \ - } \ - return l; - // Function implementations for IfcActionRequest -bool IfcActionRequest::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcActionRequestTypeEnum::IfcActionRequestTypeEnum IfcActionRequest::PredefinedType() { return IfcActionRequestTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcActionRequest::Status() { return *entity->getArgument(7); } +bool IfcActionRequest::hasStatus() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcActionRequest::Status() const { return *entity->getArgument(7); } void IfcActionRequest::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcActionRequest::hasLongDescription() { return !entity->getArgument(8)->isNull(); } -IfcText IfcActionRequest::LongDescription() { return *entity->getArgument(8); } +bool IfcActionRequest::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } +IfcText IfcActionRequest::LongDescription() const { return *entity->getArgument(8); } void IfcActionRequest::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActionRequest::IfcActionRequest(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActionRequest::IfcActionRequest(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcActionRequestTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActor -IfcActorSelect IfcActor::TheActor() { return *entity->getArgument(5); } +IfcActorSelect IfcActor::TheActor() const { return *entity->getArgument(5); } void IfcActor::setTheActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcRelAssignsToActor::list IfcActor::IsActingUpon() { RETURN_INVERSE(IfcRelAssignsToActor) } +IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return entity->getInverse(Type::IfcRelAssignsToActor)->as(); } bool IfcActor::is(Type::Enum v) const { return v == Type::IfcActor || IfcObject::is(v); } Type::Enum IfcActor::type() const { return Type::IfcActor; } Type::Enum IfcActor::Class() { return Type::IfcActor; } -IfcActor::IfcActor(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActor::IfcActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActor::IfcActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActorRole -IfcRoleEnum::IfcRoleEnum IfcActorRole::Role() { return IfcRoleEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcActorRole::UserDefinedRole() { return *entity->getArgument(1); } +bool IfcActorRole::hasUserDefinedRole() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } void IfcActorRole::setUserDefinedRole(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcActorRole::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcActorRole::Description() { return *entity->getArgument(2); } +bool IfcActorRole::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcActorRole::Description() const { return *entity->getArgument(2); } void IfcActorRole::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcExternalReferenceRelationship::list IfcActorRole::HasExternalReference() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcActorRole::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcActorRole::is(Type::Enum v) const { return v == Type::IfcActorRole; } Type::Enum IfcActorRole::type() const { return Type::IfcActorRole; } Type::Enum IfcActorRole::Class() { return Type::IfcActorRole; } -IfcActorRole::IfcActorRole(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcActorRole)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActorRole::IfcActorRole(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcActorRole)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuator -bool IfcActuator::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuator::PredefinedType() { return IfcActuatorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActuator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuator::IfcActuator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActuator::IfcActuator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcActuatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuatorType -IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorType::PredefinedType() { return IfcActuatorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuatorType::IfcActuatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcActuatorType::IfcActuatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAddress -bool IfcAddress::hasPurpose() { return !entity->getArgument(0)->isNull(); } -IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddress::Purpose() { return IfcAddressTypeEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -IfcText IfcAddress::Description() { return *entity->getArgument(1); } +bool IfcAddress::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcAddress::Description() const { return *entity->getArgument(1); } void IfcAddress::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAddress::hasUserDefinedPurpose() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcAddress::UserDefinedPurpose() { return *entity->getArgument(2); } +bool IfcAddress::hasUserDefinedPurpose() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } void IfcAddress::setUserDefinedPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPerson::list IfcAddress::OfPerson() { RETURN_INVERSE(IfcPerson) } -IfcOrganization::list IfcAddress::OfOrganization() { RETURN_INVERSE(IfcOrganization) } +IfcPerson::list::ptr IfcAddress::OfPerson() const { return entity->getInverse(Type::IfcPerson)->as(); } +IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return entity->getInverse(Type::IfcOrganization)->as(); } bool IfcAddress::is(Type::Enum v) const { return v == Type::IfcAddress; } Type::Enum IfcAddress::type() const { return Type::IfcAddress; } Type::Enum IfcAddress::Class() { return Type::IfcAddress; } -IfcAddress::IfcAddress(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAddress::IfcAddress(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAdvancedBrep bool IfcAdvancedBrep::is(Type::Enum v) const { return v == Type::IfcAdvancedBrep || IfcManifoldSolidBrep::is(v); } Type::Enum IfcAdvancedBrep::type() const { return Type::IfcAdvancedBrep; } Type::Enum IfcAdvancedBrep::Class() { return Type::IfcAdvancedBrep; } -IfcAdvancedBrep::IfcAdvancedBrep(IfcAbstractEntityPtr e) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAdvancedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAdvancedBrep::IfcAdvancedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } +IfcAdvancedBrep::IfcAdvancedBrep(IfcAbstractEntity* e) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAdvancedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAdvancedBrep::IfcAdvancedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAdvancedBrepWithVoids -SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > IfcAdvancedBrepWithVoids::Voids() { RETURN_AS_LIST(IfcClosedShell,1) } -void IfcAdvancedBrepWithVoids::setVoids(SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcAbstractEntityPtr e) : IfcAdvancedBrep((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAdvancedBrepWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcClosedShell* v1_Outer, SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v2_Voids) : IfcAdvancedBrep((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); e->setArgument(1,(v2_Voids)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcAbstractEntity* e) : IfcAdvancedBrep((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAdvancedBrepWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcClosedShell* v1_Outer, IfcTemplatedEntityList< IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep((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 IfcAdvancedFace bool IfcAdvancedFace::is(Type::Enum v) const { return v == Type::IfcAdvancedFace || IfcFaceSurface::is(v); } Type::Enum IfcAdvancedFace::type() const { return Type::IfcAdvancedFace; } Type::Enum IfcAdvancedFace::Class() { return Type::IfcAdvancedFace; } -IfcAdvancedFace::IfcAdvancedFace(IfcAbstractEntityPtr e) : IfcFaceSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAdvancedFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAdvancedFace::IfcAdvancedFace(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface((IfcAbstractEntityPtr)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); } +IfcAdvancedFace::IfcAdvancedFace(IfcAbstractEntity* e) : IfcFaceSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAdvancedFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminal::PredefinedType() { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminal::IfcAirTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirTerminal::IfcAirTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBox -bool IfcAirTerminalBox::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBox::PredefinedType() { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBox::IfcAirTerminalBox(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirTerminalBox::IfcAirTerminalBox(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBoxType -IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxType::PredefinedType() { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalType -IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalType::PredefinedType() { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalType::IfcAirTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirTerminalType::IfcAirTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecovery -bool IfcAirToAirHeatRecovery::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecovery::PredefinedType() { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecovery)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecovery)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecoveryType -IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryType::PredefinedType() { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarm -bool IfcAlarm::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarm::PredefinedType() { return IfcAlarmTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAlarm)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarm::IfcAlarm(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarm)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAlarm::IfcAlarm(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAlarmTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarmType -IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmType::PredefinedType() { return IfcAlarmTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarmType::IfcAlarmType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAlarmType::IfcAlarmType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotation -IfcRelContainedInSpatialStructure::list IfcAnnotation::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } bool IfcAnnotation::is(Type::Enum v) const { return v == Type::IfcAnnotation || IfcProduct::is(v); } Type::Enum IfcAnnotation::type() const { return Type::IfcAnnotation; } Type::Enum IfcAnnotation::Class() { return Type::IfcAnnotation; } -IfcAnnotation::IfcAnnotation(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotation::IfcAnnotation(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAnnotation::IfcAnnotation(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillArea -IfcCurve* IfcAnnotationFillArea::OuterBoundary() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcAnnotationFillArea::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,1) } -void IfcAnnotationFillArea::setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcAnnotationFillArea::IfcAnnotationFillArea(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationFillArea::IfcAnnotationFillArea(IfcCurve* v1_OuterBoundary, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > > v2_InnerBoundaries) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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); } +IfcAnnotationFillArea::IfcAnnotationFillArea(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcApplication -IfcOrganization* IfcApplication::ApplicationDeveloper() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcOrganization* IfcApplication::ApplicationDeveloper() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcApplication::setApplicationDeveloper(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcApplication::Version() { return *entity->getArgument(1); } +IfcLabel IfcApplication::Version() const { return *entity->getArgument(1); } void IfcApplication::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcLabel IfcApplication::ApplicationFullName() { return *entity->getArgument(2); } +IfcLabel IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } void IfcApplication::setApplicationFullName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcIdentifier IfcApplication::ApplicationIdentifier() { return *entity->getArgument(3); } +IfcIdentifier IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } void IfcApplication::setApplicationIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApplication::is(Type::Enum v) const { return v == Type::IfcApplication; } Type::Enum IfcApplication::type() const { return Type::IfcApplication; } Type::Enum IfcApplication::Class() { return Type::IfcApplication; } -IfcApplication::IfcApplication(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApplication)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApplication::IfcApplication(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApplication)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValue -bool IfcAppliedValue::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcAppliedValue::Name() { return *entity->getArgument(0); } +bool IfcAppliedValue::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcAppliedValue::Name() const { return *entity->getArgument(0); } void IfcAppliedValue::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcAppliedValue::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcAppliedValue::Description() { return *entity->getArgument(1); } +bool IfcAppliedValue::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcAppliedValue::Description() const { return *entity->getArgument(1); } void IfcAppliedValue::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcAppliedValue::hasAppliedValue() { return !entity->getArgument(2)->isNull(); } -IfcAppliedValueSelect IfcAppliedValue::AppliedValue() { return *entity->getArgument(2); } +bool IfcAppliedValue::hasAppliedValue() const { return !entity->getArgument(2)->isNull(); } +IfcAppliedValueSelect IfcAppliedValue::AppliedValue() const { return *entity->getArgument(2); } void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcAppliedValue::hasUnitBasis() { return !entity->getArgument(3)->isNull(); } -IfcMeasureWithUnit* IfcAppliedValue::UnitBasis() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcDate IfcAppliedValue::ApplicableDate() { return *entity->getArgument(4); } +bool IfcAppliedValue::hasApplicableDate() const { return !entity->getArgument(4)->isNull(); } +IfcDate IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } void IfcAppliedValue::setApplicableDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcAppliedValue::hasFixedUntilDate() { return !entity->getArgument(5)->isNull(); } -IfcDate IfcAppliedValue::FixedUntilDate() { return *entity->getArgument(5); } +bool IfcAppliedValue::hasFixedUntilDate() const { return !entity->getArgument(5)->isNull(); } +IfcDate IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } void IfcAppliedValue::setFixedUntilDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcAppliedValue::hasCategory() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcAppliedValue::Category() { return *entity->getArgument(6); } +bool IfcAppliedValue::hasCategory() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcAppliedValue::Category() const { return *entity->getArgument(6); } void IfcAppliedValue::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcAppliedValue::hasCondition() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcAppliedValue::Condition() { return *entity->getArgument(7); } +bool IfcAppliedValue::hasCondition() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcAppliedValue::Condition() const { return *entity->getArgument(7); } void IfcAppliedValue::setCondition(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcAppliedValue::hasArithmeticOperator() { return !entity->getArgument(8)->isNull(); } -IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValue::ArithmeticOperator() { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcAppliedValue::Components() { RETURN_AS_LIST(IfcAppliedValue,9) } -void IfcAppliedValue::setComponents(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -IfcExternalReferenceRelationship::list IfcAppliedValue::HasExternalReference() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +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()); } +IfcExternalReferenceRelationship::list::ptr IfcAppliedValue::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValue::IfcAppliedValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_Components) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcAppliedValue::IfcAppliedValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAppliedValue::IfcAppliedValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApproval -bool IfcApproval::hasIdentifier() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcApproval::Identifier() { return *entity->getArgument(0); } +bool IfcApproval::hasIdentifier() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcApproval::Identifier() const { return *entity->getArgument(0); } void IfcApproval::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcApproval::hasName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcApproval::Name() { return *entity->getArgument(1); } +bool IfcApproval::hasName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcApproval::Name() const { return *entity->getArgument(1); } void IfcApproval::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcApproval::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcApproval::Description() { return *entity->getArgument(2); } +bool IfcApproval::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcApproval::Description() const { return *entity->getArgument(2); } void IfcApproval::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcApproval::hasTimeOfApproval() { return !entity->getArgument(3)->isNull(); } -IfcDateTime IfcApproval::TimeOfApproval() { return *entity->getArgument(3); } +bool IfcApproval::hasTimeOfApproval() const { return !entity->getArgument(3)->isNull(); } +IfcDateTime IfcApproval::TimeOfApproval() const { return *entity->getArgument(3); } void IfcApproval::setTimeOfApproval(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcApproval::hasStatus() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcApproval::Status() { return *entity->getArgument(4); } +bool IfcApproval::hasStatus() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcApproval::Status() const { return *entity->getArgument(4); } void IfcApproval::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcApproval::hasLevel() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcApproval::Level() { return *entity->getArgument(5); } +bool IfcApproval::hasLevel() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcApproval::Level() const { return *entity->getArgument(5); } void IfcApproval::setLevel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcApproval::hasQualifier() { return !entity->getArgument(6)->isNull(); } -IfcText IfcApproval::Qualifier() { return *entity->getArgument(6); } +bool IfcApproval::hasQualifier() const { return !entity->getArgument(6)->isNull(); } +IfcText IfcApproval::Qualifier() const { return *entity->getArgument(6); } void IfcApproval::setQualifier(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcApproval::hasRequestingApproval() { return !entity->getArgument(7)->isNull(); } -IfcActorSelect IfcApproval::RequestingApproval() { return *entity->getArgument(7); } +bool IfcApproval::hasRequestingApproval() const { return !entity->getArgument(7)->isNull(); } +IfcActorSelect IfcApproval::RequestingApproval() const { return *entity->getArgument(7); } void IfcApproval::setRequestingApproval(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcApproval::hasGivingApproval() { return !entity->getArgument(8)->isNull(); } -IfcActorSelect IfcApproval::GivingApproval() { return *entity->getArgument(8); } +bool IfcApproval::hasGivingApproval() const { return !entity->getArgument(8)->isNull(); } +IfcActorSelect IfcApproval::GivingApproval() const { return *entity->getArgument(8); } void IfcApproval::setGivingApproval(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcExternalReferenceRelationship::list IfcApproval::HasExternalReferences() { RETURN_INVERSE(IfcExternalReferenceRelationship) } -IfcRelAssociatesApproval::list IfcApproval::ApprovedObjects() { RETURN_INVERSE(IfcRelAssociatesApproval) } -IfcResourceApprovalRelationship::list IfcApproval::ApprovedResources() { RETURN_INVERSE(IfcResourceApprovalRelationship) } -IfcApprovalRelationship::list IfcApproval::IsRelatedWith() { RETURN_INVERSE(IfcApprovalRelationship) } -IfcApprovalRelationship::list IfcApproval::Relates() { RETURN_INVERSE(IfcApprovalRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcApproval::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } +IfcRelAssociatesApproval::list::ptr IfcApproval::ApprovedObjects() const { return entity->getInverse(Type::IfcRelAssociatesApproval)->as(); } +IfcResourceApprovalRelationship::list::ptr IfcApproval::ApprovedResources() const { return entity->getInverse(Type::IfcResourceApprovalRelationship)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return entity->getInverse(Type::IfcApprovalRelationship)->as(); } +IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return entity->getInverse(Type::IfcApprovalRelationship)->as(); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApproval::IfcApproval(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcApproval::IfcApproval(boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcDateTime > v4_TimeOfApproval, boost::optional< IfcLabel > v5_Status, boost::optional< IfcLabel > v6_Level, boost::optional< IfcText > v7_Qualifier, boost::optional< IfcActorSelect > v8_RequestingApproval, boost::optional< IfcActorSelect > v9_GivingApproval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_TimeOfApproval) { e->setArgument(3,(*v4_TimeOfApproval)); } else { e->setArgument(3); } if (v5_Status) { e->setArgument(4,(*v5_Status)); } else { e->setArgument(4); } if (v6_Level) { e->setArgument(5,(*v6_Level)); } else { e->setArgument(5); } if (v7_Qualifier) { e->setArgument(6,(*v7_Qualifier)); } else { e->setArgument(6); } if (v8_RequestingApproval) { e->setArgument(7,(*v8_RequestingApproval)); } else { e->setArgument(7); } if (v9_GivingApproval) { e->setArgument(8,(*v9_GivingApproval)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalRelationship -IfcApproval* IfcApprovalRelationship::RelatingApproval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > IfcApprovalRelationship::RelatedApprovals() { RETURN_AS_LIST(IfcApproval,3) } -void IfcApprovalRelationship::setRelatedApprovals(SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +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()); } 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; } -IfcApprovalRelationship::IfcApprovalRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcApproval* v3_RelatingApproval, SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingApproval)); e->setArgument(3,(v4_RelatedApprovals)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcApprovalRelationship::IfcApprovalRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingApproval)); e->setArgument(3,(v4_RelatedApprovals)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryClosedProfileDef -IfcCurve* IfcArbitraryClosedProfileDef::OuterCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcArbitraryClosedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryClosedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryOpenProfileDef -IfcBoundedCurve* IfcArbitraryOpenProfileDef::Curve() { return (IfcBoundedCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryProfileDefWithVoids -SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcArbitraryProfileDefWithVoids::InnerCurves() { RETURN_AS_LIST(IfcCurve,3) } -void IfcArbitraryProfileDefWithVoids::setInnerCurves(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +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()); } 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; } -IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEntityPtr e) : IfcArbitraryClosedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcArbitraryProfileDefWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEntity* e) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryProfileDefWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsset -bool IfcAsset::hasIdentification() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcAsset::Identification() { return *entity->getArgument(5); } +bool IfcAsset::hasIdentification() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcAsset::Identification() const { return *entity->getArgument(5); } void IfcAsset::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcAsset::hasOriginalValue() { return !entity->getArgument(6)->isNull(); } -IfcCostValue* IfcAsset::OriginalValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcCostValue* IfcAsset::CurrentValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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() { return !entity->getArgument(8)->isNull(); } -IfcCostValue* IfcAsset::TotalReplacementCost() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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() { return !entity->getArgument(9)->isNull(); } -IfcActorSelect IfcAsset::Owner() { return *entity->getArgument(9); } +bool IfcAsset::hasOwner() const { return !entity->getArgument(9)->isNull(); } +IfcActorSelect IfcAsset::Owner() const { return *entity->getArgument(9); } void IfcAsset::setOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcAsset::hasUser() { return !entity->getArgument(10)->isNull(); } -IfcActorSelect IfcAsset::User() { return *entity->getArgument(10); } +bool IfcAsset::hasUser() const { return !entity->getArgument(10)->isNull(); } +IfcActorSelect IfcAsset::User() const { return *entity->getArgument(10); } void IfcAsset::setUser(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcAsset::hasResponsiblePerson() { return !entity->getArgument(11)->isNull(); } -IfcPerson* IfcAsset::ResponsiblePerson() { return (IfcPerson*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +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() { return !entity->getArgument(12)->isNull(); } -IfcDate IfcAsset::IncorporationDate() { return *entity->getArgument(12); } +bool IfcAsset::hasIncorporationDate() const { return !entity->getArgument(12)->isNull(); } +IfcDate IfcAsset::IncorporationDate() const { return *entity->getArgument(12); } void IfcAsset::setIncorporationDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcAsset::hasDepreciatedValue() { return !entity->getArgument(13)->isNull(); } -IfcCostValue* IfcAsset::DepreciatedValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(13))); } +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); } 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(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsset::IfcAsset(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, boost::optional< IfcActorSelect > v10_Owner, boost::optional< IfcActorSelect > v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< IfcDate > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); if (v10_Owner) { e->setArgument(9,(*v10_Owner)); } else { e->setArgument(9); } if (v11_User) { e->setArgument(10,(*v11_User)); } else { e->setArgument(10); } e->setArgument(11,(v12_ResponsiblePerson)); if (v13_IncorporationDate) { e->setArgument(12,(*v13_IncorporationDate)); } else { e->setArgument(12); } e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } +IfcAsset::IfcAsset(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAsset::IfcAsset(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, boost::optional< IfcActorSelect > v10_Owner, boost::optional< IfcActorSelect > v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< IfcDate > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); if (v10_Owner) { e->setArgument(9,(*v10_Owner)); } else { e->setArgument(9); } if (v11_User) { e->setArgument(10,(*v11_User)); } else { e->setArgument(10); } e->setArgument(11,(v12_ResponsiblePerson)); if (v13_IncorporationDate) { e->setArgument(12,(*v13_IncorporationDate)); } else { e->setArgument(12); } e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsymmetricIShapeProfileDef -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { return *entity->getArgument(3); } void IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::OverallDepth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } void IfcAsymmetricIShapeProfileDef::setOverallDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcAsymmetricIShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { return *entity->getArgument(6); } void IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() { return *entity->getArgument(7); } +bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { return *entity->getArgument(7); } void IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeWidth() { return *entity->getArgument(8); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeThickness() { return *entity->getArgument(9); } +bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() { return !entity->getArgument(10)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() { return *entity->getArgument(10); } +bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !entity->getArgument(10)->isNull(); } +IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeEdgeRadius() { return !entity->getArgument(11)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() { return *entity->getArgument(11); } +bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeEdgeRadius() const { return !entity->getArgument(11)->isNull(); } +IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { return *entity->getArgument(11); } void IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeSlope() { return !entity->getArgument(12)->isNull(); } -IfcPlaneAngleMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() { return *entity->getArgument(12); } +bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeSlope() const { return !entity->getArgument(12)->isNull(); } +IfcPlaneAngleMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { return *entity->getArgument(12); } void IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeEdgeRadius() { return !entity->getArgument(13)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() { return *entity->getArgument(13); } +bool IfcAsymmetricIShapeProfileDef::hasTopFlangeEdgeRadius() const { return !entity->getArgument(13)->isNull(); } +IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { return *entity->getArgument(13); } void IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcAsymmetricIShapeProfileDef::hasTopFlangeSlope() { return !entity->getArgument(14)->isNull(); } -IfcPlaneAngleMeasure IfcAsymmetricIShapeProfileDef::TopFlangeSlope() { return *entity->getArgument(14); } +bool IfcAsymmetricIShapeProfileDef::hasTopFlangeSlope() const { return !entity->getArgument(14)->isNull(); } +IfcPlaneAngleMeasure IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { return *entity->getArgument(14); } void IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomFlangeWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_BottomFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_BottomFlangeFilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v12_BottomFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v13_BottomFlangeSlope, boost::optional< IfcNonNegativeLengthMeasure > v14_TopFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomFlangeWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_BottomFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_BottomFlangeFilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v12_BottomFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v13_BottomFlangeSlope, boost::optional< IfcNonNegativeLengthMeasure > v14_TopFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomFlangeWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) { e->setArgument(7,(*v8_BottomFlangeFilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_BottomFlangeEdgeRadius) { e->setArgument(11,(*v12_BottomFlangeEdgeRadius)); } else { e->setArgument(11); } if (v13_BottomFlangeSlope) { e->setArgument(12,(*v13_BottomFlangeSlope)); } else { e->setArgument(12); } if (v14_TopFlangeEdgeRadius) { e->setArgument(13,(*v14_TopFlangeEdgeRadius)); } else { e->setArgument(13); } if (v15_TopFlangeSlope) { e->setArgument(14,(*v15_TopFlangeSlope)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAudioVisualAppliance -bool IfcAudioVisualAppliance::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum IfcAudioVisualAppliance::PredefinedType() { return IfcAudioVisualApplianceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAudioVisualApplianceType -IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum IfcAudioVisualApplianceType::PredefinedType() { return IfcAudioVisualApplianceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis1Placement -bool IfcAxis1Placement::hasAxis() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis1Placement::Axis() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_Axis)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcAxis2Placement2D -bool IfcAxis2Placement2D::hasRefDirection() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement2D::RefDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); e->setArgument(1,(v2_RefDirection)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcAxis2Placement3D -bool IfcAxis2Placement3D::hasAxis() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcAxis2Placement3D::Axis() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcDirection* IfcAxis2Placement3D::RefDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcBSplineCurve -int IfcBSplineCurve::Degree() { return *entity->getArgument(0); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcBSplineCurve::ControlPointsList() { RETURN_AS_LIST(IfcCartesianPoint,1) } -void IfcBSplineCurve::setControlPointsList(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcBSplineCurveForm::IfcBSplineCurveForm IfcBSplineCurve::CurveForm() { return IfcBSplineCurveForm::FromString(*entity->getArgument(2)); } +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()); } +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)); } -bool IfcBSplineCurve::ClosedCurve() { return *entity->getArgument(3); } +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); } -bool IfcBSplineCurve::SelfIntersect() { return *entity->getArgument(4); } +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); } 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; } -IfcBSplineCurve::IfcBSplineCurve(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcBSplineCurve::IfcBSplineCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ IfcBSplineCurveWithKnots::KnotMultiplicities() { return *entity->getArgument(5); } +std::vector< int > /*[2:?]*/ IfcBSplineCurveWithKnots::KnotMultiplicities() const { return *entity->getArgument(5); } void IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineCurveWithKnots::Knots() { return *entity->getArgument(6); } +std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineCurveWithKnots::Knots() const { return *entity->getArgument(6); } void IfcBSplineCurveWithKnots::setKnots(std::vector< IfcParameterValue > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcKnotType::IfcKnotType IfcBSplineCurveWithKnots::KnotSpec() { return IfcKnotType::FromString(*entity->getArgument(7)); } +IfcKnotType::IfcKnotType IfcBSplineCurveWithKnots::KnotSpec() const { return IfcKnotType::FromString(*entity->getArgument(7)); } void IfcBSplineCurveWithKnots::setKnotSpec(IfcKnotType::IfcKnotType v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcKnotType::ToString(v)); } bool IfcBSplineCurveWithKnots::is(Type::Enum v) const { return v == Type::IfcBSplineCurveWithKnots || IfcBSplineCurve::is(v); } Type::Enum IfcBSplineCurveWithKnots::type() const { return Type::IfcBSplineCurveWithKnots; } Type::Enum IfcBSplineCurveWithKnots::Class() { return Type::IfcBSplineCurveWithKnots; } -IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcAbstractEntityPtr e) : IfcBSplineCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurveWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec) : IfcBSplineCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); entity = e; EntityBuffer::Add(this); } +IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcAbstractEntity* e) : IfcBSplineCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurveWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec) : IfcBSplineCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBSplineSurface -int IfcBSplineSurface::UDegree() { return *entity->getArgument(0); } +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); } -int IfcBSplineSurface::VDegree() { return *entity->getArgument(1); } +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); } -IfcBSplineSurfaceForm::IfcBSplineSurfaceForm IfcBSplineSurface::SurfaceForm() { return IfcBSplineSurfaceForm::FromString(*entity->getArgument(3)); } +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()); } +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)); } -bool IfcBSplineSurface::UClosed() { return *entity->getArgument(4); } +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); } -bool IfcBSplineSurface::VClosed() { return *entity->getArgument(5); } +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); } -bool IfcBSplineSurface::SelfIntersect() { return *entity->getArgument(6); } +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); } 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; } -IfcBSplineSurface::IfcBSplineSurface(IfcAbstractEntityPtr e) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBSplineSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcBSplineSurface::IfcBSplineSurface(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect) : IfcBoundedSurface((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)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UMultiplicities() { return *entity->getArgument(7); } +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); } -std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VMultiplicities() { return *entity->getArgument(8); } +std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VMultiplicities() const { return *entity->getArgument(8); } void IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UKnots() { return *entity->getArgument(9); } +std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UKnots() const { return *entity->getArgument(9); } void IfcBSplineSurfaceWithKnots::setUKnots(std::vector< IfcParameterValue > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VKnots() { return *entity->getArgument(10); } +std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VKnots() const { return *entity->getArgument(10); } void IfcBSplineSurfaceWithKnots::setVKnots(std::vector< IfcParameterValue > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcKnotType::IfcKnotType IfcBSplineSurfaceWithKnots::KnotSpec() { return IfcKnotType::FromString(*entity->getArgument(11)); } +IfcKnotType::IfcKnotType IfcBSplineSurfaceWithKnots::KnotSpec() const { return IfcKnotType::FromString(*entity->getArgument(11)); } void IfcBSplineSurfaceWithKnots::setKnotSpec(IfcKnotType::IfcKnotType v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcKnotType::ToString(v)); } bool IfcBSplineSurfaceWithKnots::is(Type::Enum v) const { return v == Type::IfcBSplineSurfaceWithKnots || IfcBSplineSurface::is(v); } Type::Enum IfcBSplineSurfaceWithKnots::type() const { return Type::IfcBSplineSurfaceWithKnots; } Type::Enum IfcBSplineSurfaceWithKnots::Class() { return Type::IfcBSplineSurfaceWithKnots; } -IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcAbstractEntityPtr e) : IfcBSplineSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBSplineSurfaceWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } +IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcAbstractEntity* e) : IfcBSplineSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineSurfaceWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeam -bool IfcBeam::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeam::PredefinedType() { return IfcBeamTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeam::IfcBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBeam::IfcBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcBeam((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBeamStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamStandardCase::IfcBeamStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBeam((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBeam((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBeamStandardCase::IfcBeamStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBeam((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamType -IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamType::PredefinedType() { return IfcBeamTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamType::IfcBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBeamType::IfcBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlobTexture -IfcIdentifier IfcBlobTexture::RasterFormat() { return *entity->getArgument(5); } +IfcIdentifier IfcBlobTexture::RasterFormat() const { return *entity->getArgument(5); } void IfcBlobTexture::setRasterFormat(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcSurfaceTexture((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcIdentifier v6_RasterFormat) : IfcSurfaceTexture((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcIdentifier v6_RasterFormat) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_RasterFormat)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlock -IfcPositiveLengthMeasure IfcBlock::XLength() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcBlock::XLength() const { return *entity->getArgument(1); } void IfcBlock::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBlock::YLength() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcBlock::YLength() const { return *entity->getArgument(2); } void IfcBlock::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBlock::ZLength() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcBlock::ZLength() const { return *entity->getArgument(3); } void IfcBlock::setZLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBlock::is(Type::Enum v) const { return v == Type::IfcBlock || IfcCsgPrimitive3D::is(v); } Type::Enum IfcBlock::type() const { return Type::IfcBlock; } Type::Enum IfcBlock::Class() { return Type::IfcBlock; } -IfcBlock::IfcBlock(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBlock)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } +IfcBlock::IfcBlock(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlock)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoiler -bool IfcBoiler::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoiler::PredefinedType() { return IfcBoilerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoiler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoiler::IfcBoiler(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoiler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoiler::IfcBoiler(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBoilerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoilerType -IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerType::PredefinedType() { return IfcBoilerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoilerType::IfcBoilerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoilerType::IfcBoilerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanClippingResult bool IfcBooleanClippingResult::is(Type::Enum v) const { return v == Type::IfcBooleanClippingResult || IfcBooleanResult::is(v); } Type::Enum IfcBooleanClippingResult::type() const { return Type::IfcBooleanClippingResult; } Type::Enum IfcBooleanClippingResult::Class() { return Type::IfcBooleanClippingResult; } -IfcBooleanClippingResult::IfcBooleanClippingResult(IfcAbstractEntityPtr e) : IfcBooleanResult((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBooleanClippingResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanClippingResult::IfcBooleanClippingResult(IfcAbstractEntity* e) : IfcBooleanResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanClippingResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanResult -IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } +IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() const { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } void IfcBooleanResult::setOperator(IfcBooleanOperator::IfcBooleanOperator v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcBooleanOperator::ToString(v)); } -IfcBooleanOperand IfcBooleanResult::FirstOperand() { return *entity->getArgument(1); } +IfcBooleanOperand IfcBooleanResult::FirstOperand() const { return *entity->getArgument(1); } void IfcBooleanResult::setFirstOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBooleanOperand IfcBooleanResult::SecondOperand() { return *entity->getArgument(2); } +IfcBooleanOperand IfcBooleanResult::SecondOperand() const { return *entity->getArgument(2); } void IfcBooleanResult::setSecondOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBooleanResult::is(Type::Enum v) const { return v == Type::IfcBooleanResult || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBooleanResult::type() const { return Type::IfcBooleanResult; } Type::Enum IfcBooleanResult::Class() { return Type::IfcBooleanResult; } -IfcBooleanResult::IfcBooleanResult(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBooleanResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanResult::IfcBooleanResult(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCondition -bool IfcBoundaryCondition::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcBoundaryCondition::Name() { return *entity->getArgument(0); } +bool IfcBoundaryCondition::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } void IfcBoundaryCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcBoundaryCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::type() const { return Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::Class() { return Type::IfcBoundaryCondition; } -IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcBoundaryCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcBoundaryCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCurve bool IfcBoundaryCurve::is(Type::Enum v) const { return v == Type::IfcBoundaryCurve || IfcCompositeCurveOnSurface::is(v); } Type::Enum IfcBoundaryCurve::type() const { return Type::IfcBoundaryCurve; } Type::Enum IfcBoundaryCurve::Class() { return Type::IfcBoundaryCurve; } -IfcBoundaryCurve::IfcBoundaryCurve(IfcAbstractEntityPtr e) : IfcCompositeCurveOnSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryCurve::IfcBoundaryCurve(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurveOnSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcBoundaryCurve::IfcBoundaryCurve(IfcAbstractEntity* e) : IfcCompositeCurveOnSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(1)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() { return *entity->getArgument(1); } +bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthX() const { return !entity->getArgument(1)->isNull(); } +IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { return *entity->getArgument(1); } void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthY() { return !entity->getArgument(2)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() { return *entity->getArgument(2); } +bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthY() const { return !entity->getArgument(2)->isNull(); } +IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { return *entity->getArgument(2); } void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthZ() { return !entity->getArgument(3)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() { return *entity->getArgument(3); } +bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthZ() const { return !entity->getArgument(3)->isNull(); } +IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { return *entity->getArgument(3); } void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() { return !entity->getArgument(4)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() { return *entity->getArgument(4); } +bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !entity->getArgument(4)->isNull(); } +IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() { return !entity->getArgument(5)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() { return *entity->getArgument(5); } +bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !entity->getArgument(5)->isNull(); } +IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() { return !entity->getArgument(6)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() { return *entity->getArgument(6); } +bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !entity->getArgument(6)->isNull(); } +IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByLengthX) { e->setArgument(1,(*v2_TranslationalStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByLengthY) { e->setArgument(2,(*v3_TranslationalStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByLengthZ) { e->setArgument(3,(*v4_TranslationalStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByLengthX) { e->setArgument(1,(*v2_TranslationalStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByLengthY) { e->setArgument(2,(*v3_TranslationalStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByLengthZ) { e->setArgument(3,(*v4_TranslationalStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryFaceCondition -bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaX() { return !entity->getArgument(1)->isNull(); } -IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() { return *entity->getArgument(1); } +bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaX() const { return !entity->getArgument(1)->isNull(); } +IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { return *entity->getArgument(1); } void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaY() { return !entity->getArgument(2)->isNull(); } -IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() { return *entity->getArgument(2); } +bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaY() const { return !entity->getArgument(2)->isNull(); } +IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { return *entity->getArgument(2); } void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaZ() { return !entity->getArgument(3)->isNull(); } -IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() { return *entity->getArgument(3); } +bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaZ() const { return !entity->getArgument(3)->isNull(); } +IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { return *entity->getArgument(3); } void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect > v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByAreaX) { e->setArgument(1,(*v2_TranslationalStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByAreaY) { e->setArgument(2,(*v3_TranslationalStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByAreaZ) { e->setArgument(3,(*v4_TranslationalStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect > v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByAreaX) { e->setArgument(1,(*v2_TranslationalStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByAreaY) { e->setArgument(2,(*v3_TranslationalStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByAreaZ) { e->setArgument(3,(*v4_TranslationalStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeCondition -bool IfcBoundaryNodeCondition::hasTranslationalStiffnessX() { return !entity->getArgument(1)->isNull(); } -IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessX() { return *entity->getArgument(1); } +bool IfcBoundaryNodeCondition::hasTranslationalStiffnessX() const { return !entity->getArgument(1)->isNull(); } +IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessX() const { return *entity->getArgument(1); } void IfcBoundaryNodeCondition::setTranslationalStiffnessX(IfcTranslationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcBoundaryNodeCondition::hasTranslationalStiffnessY() { return !entity->getArgument(2)->isNull(); } -IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessY() { return *entity->getArgument(2); } +bool IfcBoundaryNodeCondition::hasTranslationalStiffnessY() const { return !entity->getArgument(2)->isNull(); } +IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessY() const { return *entity->getArgument(2); } void IfcBoundaryNodeCondition::setTranslationalStiffnessY(IfcTranslationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcBoundaryNodeCondition::hasTranslationalStiffnessZ() { return !entity->getArgument(3)->isNull(); } -IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessZ() { return *entity->getArgument(3); } +bool IfcBoundaryNodeCondition::hasTranslationalStiffnessZ() const { return !entity->getArgument(3)->isNull(); } +IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { return *entity->getArgument(3); } void IfcBoundaryNodeCondition::setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() { return !entity->getArgument(4)->isNull(); } -IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessX() { return *entity->getArgument(4); } +bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !entity->getArgument(4)->isNull(); } +IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } void IfcBoundaryNodeCondition::setRotationalStiffnessX(IfcRotationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() { return !entity->getArgument(5)->isNull(); } -IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessY() { return *entity->getArgument(5); } +bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !entity->getArgument(5)->isNull(); } +IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } void IfcBoundaryNodeCondition::setRotationalStiffnessY(IfcRotationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() { return !entity->getArgument(6)->isNull(); } -IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessZ() { return *entity->getArgument(6); } +bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !entity->getArgument(6)->isNull(); } +IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } void IfcBoundaryNodeCondition::setRotationalStiffnessZ(IfcRotationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeConditionWarping -bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() { return !entity->getArgument(7)->isNull(); } -IfcWarpingStiffnessSelect IfcBoundaryNodeConditionWarping::WarpingStiffness() { return *entity->getArgument(7); } +bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !entity->getArgument(7)->isNull(); } +IfcWarpingStiffnessSelect IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } void IfcBoundaryNodeConditionWarping::setWarpingStiffness(IfcWarpingStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcBoundaryNodeCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcAbstractEntity* e) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedCurve bool IfcBoundedCurve::is(Type::Enum v) const { return v == Type::IfcBoundedCurve || IfcCurve::is(v); } Type::Enum IfcBoundedCurve::type() const { return Type::IfcBoundedCurve; } Type::Enum IfcBoundedCurve::Class() { return Type::IfcBoundedCurve; } -IfcBoundedCurve::IfcBoundedCurve(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundedCurve::IfcBoundedCurve() : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcBoundedCurve::IfcBoundedCurve(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundedCurve::IfcBoundedCurve() : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedSurface bool IfcBoundedSurface::is(Type::Enum v) const { return v == Type::IfcBoundedSurface || IfcSurface::is(v); } Type::Enum IfcBoundedSurface::type() const { return Type::IfcBoundedSurface; } Type::Enum IfcBoundedSurface::Class() { return Type::IfcBoundedSurface; } -IfcBoundedSurface::IfcBoundedSurface(IfcAbstractEntityPtr e) : IfcSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcBoundedSurface::IfcBoundedSurface(IfcAbstractEntity* e) : IfcSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundingBox -IfcCartesianPoint* IfcBoundingBox::Corner() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCartesianPoint* IfcBoundingBox::Corner() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcBoundingBox::setCorner(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcBoundingBox::XDim() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcBoundingBox::XDim() const { return *entity->getArgument(1); } void IfcBoundingBox::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBoundingBox::YDim() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcBoundingBox::YDim() const { return *entity->getArgument(2); } void IfcBoundingBox::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBoundingBox::ZDim() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } void IfcBoundingBox::setZDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundingBox::is(Type::Enum v) const { return v == Type::IfcBoundingBox || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBoundingBox::type() const { return Type::IfcBoundingBox; } Type::Enum IfcBoundingBox::Class() { return Type::IfcBoundingBox; } -IfcBoundingBox::IfcBoundingBox(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoundingBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } +IfcBoundingBox::IfcBoundingBox(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundingBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoxedHalfSpace -IfcBoundingBox* IfcBoxedHalfSpace::Enclosure() { return (IfcBoundingBox*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcAbstractEntityPtr e) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBoxedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)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); } +IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoxedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfRefHeight() { return *entity->getArgument(9); } +bool IfcBuilding::hasElevationOfRefHeight() const { return !entity->getArgument(9)->isNull(); } +IfcLengthMeasure IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } void IfcBuilding::setElevationOfRefHeight(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcBuilding::hasElevationOfTerrain() { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfTerrain() { return *entity->getArgument(10); } +bool IfcBuilding::hasElevationOfTerrain() const { return !entity->getArgument(10)->isNull(); } +IfcLengthMeasure IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } void IfcBuilding::setElevationOfTerrain(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcBuilding::hasBuildingAddress() { return !entity->getArgument(11)->isNull(); } -IfcPostalAddress* IfcBuilding::BuildingAddress() { return (IfcPostalAddress*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuilding::IfcBuilding(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuilding::IfcBuilding(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement -IfcRelCoversBldgElements::list IfcBuildingElement::HasCoverings() { RETURN_INVERSE(IfcRelCoversBldgElements) } +IfcRelCoversBldgElements::list::ptr IfcBuildingElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements)->as(); } 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElement::IfcBuildingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElement::IfcBuildingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPart -bool IfcBuildingElementPart::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum IfcBuildingElementPart::PredefinedType() { return IfcBuildingElementPartTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPart::IfcBuildingElementPart(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementPart::IfcBuildingElementPart(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPartType -IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum IfcBuildingElementPartType::PredefinedType() { return IfcBuildingElementPartTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPartType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPartType::IfcBuildingElementPartType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPartType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementPartType::IfcBuildingElementPartType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxy -bool IfcBuildingElementProxy::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxy::PredefinedType() { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxy::IfcBuildingElementProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementProxy::IfcBuildingElementProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxyType -IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyType::PredefinedType() { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementType::IfcBuildingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingElementType::IfcBuildingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingStorey -bool IfcBuildingStorey::hasElevation() { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuildingStorey::Elevation() { return *entity->getArgument(9); } +bool IfcBuildingStorey::hasElevation() const { return !entity->getArgument(9)->isNull(); } +IfcLengthMeasure IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } void IfcBuildingStorey::setElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingStorey::IfcBuildingStorey(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingStorey::IfcBuildingStorey(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingSystem -bool IfcBuildingSystem::hasPredefinedType() { return !entity->getArgument(5)->isNull(); } -IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum IfcBuildingSystem::PredefinedType() { return IfcBuildingSystemTypeEnum::FromString(*entity->getArgument(5)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBuildingSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingSystem::IfcBuildingSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBuildingSystem::IfcBuildingSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurner -bool IfcBurner::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcBurnerTypeEnum::IfcBurnerTypeEnum IfcBurner::PredefinedType() { return IfcBurnerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBurner)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBurner::IfcBurner(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBurner)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBurner::IfcBurner(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBurnerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurnerType -IfcBurnerTypeEnum::IfcBurnerTypeEnum IfcBurnerType::PredefinedType() { return IfcBurnerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcBurnerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBurnerType::IfcBurnerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBurnerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcBurnerType::IfcBurnerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBurnerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCShapeProfileDef -IfcPositiveLengthMeasure IfcCShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcCShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Width() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } void IfcCShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::WallThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } void IfcCShapeProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Girth() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } void IfcCShapeProfileDef::setGirth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcCShapeProfileDef::hasInternalFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcCShapeProfileDef::InternalFilletRadius() { return *entity->getArgument(7); } +bool IfcCShapeProfileDef::hasInternalFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } void IfcCShapeProfileDef::setInternalFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcNonNegativeLengthMeasure > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcNonNegativeLengthMeasure > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFitting -bool IfcCableCarrierFitting::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFitting::PredefinedType() { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFitting((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFitting::IfcCableCarrierFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableCarrierFitting::IfcCableCarrierFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFittingType -IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingType::PredefinedType() { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegment -bool IfcCableCarrierSegment::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegment::PredefinedType() { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegment::IfcCableCarrierSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableCarrierSegment::IfcCableCarrierSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegmentType -IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentType::PredefinedType() { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableFitting -bool IfcCableFitting::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCableFittingTypeEnum::IfcCableFittingTypeEnum IfcCableFitting::PredefinedType() { return IfcCableFittingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFitting((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableFitting::IfcCableFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableFitting::IfcCableFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableFittingType -IfcCableFittingTypeEnum::IfcCableFittingTypeEnum IfcCableFittingType::PredefinedType() { return IfcCableFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableFittingType::IfcCableFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableFittingType::IfcCableFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegment -bool IfcCableSegment::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegment::PredefinedType() { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegment::IfcCableSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableSegment::IfcCableSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegmentType -IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentType::PredefinedType() { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegmentType::IfcCableSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCableSegmentType::IfcCableSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPoint -std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() { return *entity->getArgument(0); } +std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } void IfcCartesianPoint::setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCartesianPoint::is(Type::Enum v) const { return v == Type::IfcCartesianPoint || IfcPoint::is(v); } Type::Enum IfcCartesianPoint::type() const { return Type::IfcCartesianPoint; } Type::Enum IfcCartesianPoint::Class() { return Type::IfcCartesianPoint; } -IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntityPtr e) : IfcPoint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCartesianPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianPoint::IfcCartesianPoint(std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCartesianPoint::IfcCartesianPoint(std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPointList bool IfcCartesianPointList::is(Type::Enum v) const { return v == Type::IfcCartesianPointList || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCartesianPointList::type() const { return Type::IfcCartesianPointList; } Type::Enum IfcCartesianPointList::Class() { return Type::IfcCartesianPointList; } -IfcCartesianPointList::IfcCartesianPointList(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcCartesianPointList::IfcCartesianPointList(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPointList3D bool IfcCartesianPointList3D::is(Type::Enum v) const { return v == Type::IfcCartesianPointList3D || IfcCartesianPointList::is(v); } Type::Enum IfcCartesianPointList3D::type() const { return Type::IfcCartesianPointList3D; } Type::Enum IfcCartesianPointList3D::Class() { return Type::IfcCartesianPointList3D; } -IfcCartesianPointList3D::IfcCartesianPointList3D(IfcAbstractEntityPtr e) : IfcCartesianPointList((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianPointList3D::IfcCartesianPointList3D() : IfcCartesianPointList((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcCartesianPointList3D::IfcCartesianPointList3D(IfcAbstractEntity* e) : IfcCartesianPointList((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCartesianPointList3D::IfcCartesianPointList3D() : IfcCartesianPointList((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator -bool IfcCartesianTransformationOperator::hasAxis1() { return !entity->getArgument(0)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis1() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator::Axis2() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -IfcCartesianPoint* IfcCartesianTransformationOperator::LocalOrigin() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -double IfcCartesianTransformationOperator::Scale() { return *entity->getArgument(3); } +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); } 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(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -bool IfcCartesianTransformationOperator2DnonUniform::hasScale2() { return !entity->getArgument(4)->isNull(); } -double IfcCartesianTransformationOperator2DnonUniform::Scale2() { return *entity->getArgument(4); } +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); } 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator2D((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCartesianTransformationOperator3D -bool IfcCartesianTransformationOperator3D::hasAxis3() { return !entity->getArgument(4)->isNull(); } -IfcDirection* IfcCartesianTransformationOperator3D::Axis3() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -bool IfcCartesianTransformationOperator3DnonUniform::hasScale2() { return !entity->getArgument(5)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale2() { return *entity->getArgument(5); } +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() { return !entity->getArgument(6)->isNull(); } -double IfcCartesianTransformationOperator3DnonUniform::Scale3() { return *entity->getArgument(6); } +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); } 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(IfcAbstractEntityPtr e) : IfcCartesianTransformationOperator3D((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcCenterLineProfileDef -IfcPositiveLengthMeasure IfcCenterLineProfileDef::Thickness() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } void IfcCenterLineProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCenterLineProfileDef::is(Type::Enum v) const { return v == Type::IfcCenterLineProfileDef || IfcArbitraryOpenProfileDef::is(v); } Type::Enum IfcCenterLineProfileDef::type() const { return Type::IfcCenterLineProfileDef; } Type::Enum IfcCenterLineProfileDef::Class() { return Type::IfcCenterLineProfileDef; } -IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntityPtr e) : IfcArbitraryOpenProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCenterLineProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } +IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntity* e) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCenterLineProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChiller -bool IfcChiller::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcChillerTypeEnum::IfcChillerTypeEnum IfcChiller::PredefinedType() { return IfcChillerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcChiller)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChiller::IfcChiller(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChiller)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcChiller::IfcChiller(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChillerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChillerType -IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerType::PredefinedType() { return IfcChillerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChillerType::IfcChillerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcChillerType::IfcChillerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChimney -bool IfcChimney::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcChimneyTypeEnum::IfcChimneyTypeEnum IfcChimney::PredefinedType() { return IfcChimneyTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcChimney)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChimney::IfcChimney(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChimney)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcChimney::IfcChimney(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChimneyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChimneyType -IfcChimneyTypeEnum::IfcChimneyTypeEnum IfcChimneyType::PredefinedType() { return IfcChimneyTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcChimneyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChimneyType::IfcChimneyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChimneyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcChimneyType::IfcChimneyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChimneyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircle -IfcPositiveLengthMeasure IfcCircle::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcCircle::Radius() const { return *entity->getArgument(1); } void IfcCircle::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCircle::is(Type::Enum v) const { return v == Type::IfcCircle || IfcConic::is(v); } Type::Enum IfcCircle::type() const { return Type::IfcCircle; } Type::Enum IfcCircle::Class() { return Type::IfcCircle; } -IfcCircle::IfcCircle(IfcAbstractEntityPtr e) : IfcConic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCircle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircle::IfcCircle(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcConic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircle::IfcCircle(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCircle::IfcCircle(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleHollowProfileDef -IfcPositiveLengthMeasure IfcCircleHollowProfileDef::WallThickness() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } void IfcCircleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcCircleProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcCircleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleProfileDef -IfcPositiveLengthMeasure IfcCircleProfileDef::Radius() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } void IfcCircleProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCivilElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCivilElement::IfcCivilElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCivilElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCivilElement::IfcCivilElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCivilElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCivilElementType::IfcCivilElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCivilElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCivilElementType::IfcCivilElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassification -bool IfcClassification::hasSource() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcClassification::Source() { return *entity->getArgument(0); } +bool IfcClassification::hasSource() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcClassification::Source() const { return *entity->getArgument(0); } void IfcClassification::setSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcClassification::hasEdition() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcClassification::Edition() { return *entity->getArgument(1); } +bool IfcClassification::hasEdition() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcClassification::Edition() const { return *entity->getArgument(1); } void IfcClassification::setEdition(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcClassification::hasEditionDate() { return !entity->getArgument(2)->isNull(); } -IfcDate IfcClassification::EditionDate() { return *entity->getArgument(2); } +bool IfcClassification::hasEditionDate() const { return !entity->getArgument(2)->isNull(); } +IfcDate IfcClassification::EditionDate() const { return *entity->getArgument(2); } void IfcClassification::setEditionDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcClassification::Name() { return *entity->getArgument(3); } +IfcLabel IfcClassification::Name() const { return *entity->getArgument(3); } void IfcClassification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcClassification::hasDescription() { return !entity->getArgument(4)->isNull(); } -IfcText IfcClassification::Description() { return *entity->getArgument(4); } +bool IfcClassification::hasDescription() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcClassification::Description() const { return *entity->getArgument(4); } void IfcClassification::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcClassification::hasLocation() { return !entity->getArgument(5)->isNull(); } -IfcURIReference IfcClassification::Location() { return *entity->getArgument(5); } +bool IfcClassification::hasLocation() const { return !entity->getArgument(5)->isNull(); } +IfcURIReference IfcClassification::Location() const { return *entity->getArgument(5); } void IfcClassification::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcClassification::hasReferenceTokens() { return !entity->getArgument(6)->isNull(); } -std::vector< IfcIdentifier > /*[1:?]*/ IfcClassification::ReferenceTokens() { return *entity->getArgument(6); } +bool IfcClassification::hasReferenceTokens() const { return !entity->getArgument(6)->isNull(); } +std::vector< IfcIdentifier > /*[1:?]*/ IfcClassification::ReferenceTokens() const { return *entity->getArgument(6); } void IfcClassification::setReferenceTokens(std::vector< IfcIdentifier > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcRelAssociatesClassification::list IfcClassification::ClassificationForObjects() { RETURN_INVERSE(IfcRelAssociatesClassification) } -IfcClassificationReference::list IfcClassification::HasReferences() { RETURN_INVERSE(IfcClassificationReference) } +IfcRelAssociatesClassification::list::ptr IfcClassification::ClassificationForObjects() const { return entity->getInverse(Type::IfcRelAssociatesClassification)->as(); } +IfcClassificationReference::list::ptr IfcClassification::HasReferences() const { return entity->getInverse(Type::IfcClassificationReference)->as(); } bool IfcClassification::is(Type::Enum v) const { return v == Type::IfcClassification || IfcExternalInformation::is(v); } Type::Enum IfcClassification::type() const { return Type::IfcClassification; } Type::Enum IfcClassification::Class() { return Type::IfcClassification; } -IfcClassification::IfcClassification(IfcAbstractEntityPtr e) : IfcExternalInformation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassification::IfcClassification(boost::optional< IfcLabel > v1_Source, boost::optional< IfcLabel > v2_Edition, boost::optional< IfcDate > v3_EditionDate, IfcLabel v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcURIReference > v6_Location, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Source) { e->setArgument(0,(*v1_Source)); } else { e->setArgument(0); } if (v2_Edition) { e->setArgument(1,(*v2_Edition)); } else { e->setArgument(1); } if (v3_EditionDate) { e->setArgument(2,(*v3_EditionDate)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Location) { e->setArgument(5,(*v6_Location)); } else { e->setArgument(5); } if (v7_ReferenceTokens) { e->setArgument(6,(*v7_ReferenceTokens)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcClassification::IfcClassification(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassification::IfcClassification(boost::optional< IfcLabel > v1_Source, boost::optional< IfcLabel > v2_Edition, boost::optional< IfcDate > v3_EditionDate, IfcLabel v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcURIReference > v6_Location, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Source) { e->setArgument(0,(*v1_Source)); } else { e->setArgument(0); } if (v2_Edition) { e->setArgument(1,(*v2_Edition)); } else { e->setArgument(1); } if (v3_EditionDate) { e->setArgument(2,(*v3_EditionDate)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Location) { e->setArgument(5,(*v6_Location)); } else { e->setArgument(5); } if (v7_ReferenceTokens) { e->setArgument(6,(*v7_ReferenceTokens)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationReference -bool IfcClassificationReference::hasReferencedSource() { return !entity->getArgument(3)->isNull(); } -IfcClassificationReferenceSelect IfcClassificationReference::ReferencedSource() { return *entity->getArgument(3); } +bool IfcClassificationReference::hasReferencedSource() const { return !entity->getArgument(3)->isNull(); } +IfcClassificationReferenceSelect IfcClassificationReference::ReferencedSource() const { return *entity->getArgument(3); } void IfcClassificationReference::setReferencedSource(IfcClassificationReferenceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcClassificationReference::hasDescription() { return !entity->getArgument(4)->isNull(); } -IfcText IfcClassificationReference::Description() { return *entity->getArgument(4); } +bool IfcClassificationReference::hasDescription() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcClassificationReference::Description() const { return *entity->getArgument(4); } void IfcClassificationReference::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcClassificationReference::hasSort() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcClassificationReference::Sort() { return *entity->getArgument(5); } +bool IfcClassificationReference::hasSort() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcClassificationReference::Sort() const { return *entity->getArgument(5); } void IfcClassificationReference::setSort(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcRelAssociatesClassification::list IfcClassificationReference::ClassificationRefForObjects() { RETURN_INVERSE(IfcRelAssociatesClassification) } -IfcClassificationReference::list IfcClassificationReference::HasReferences() { RETURN_INVERSE(IfcClassificationReference) } +IfcRelAssociatesClassification::list::ptr IfcClassificationReference::ClassificationRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesClassification)->as(); } +IfcClassificationReference::list::ptr IfcClassificationReference::HasReferences() const { return entity->getInverse(Type::IfcClassificationReference)->as(); } bool IfcClassificationReference::is(Type::Enum v) const { return v == Type::IfcClassificationReference || IfcExternalReference::is(v); } Type::Enum IfcClassificationReference::type() const { return Type::IfcClassificationReference; } Type::Enum IfcClassificationReference::Class() { return Type::IfcClassificationReference; } -IfcClassificationReference::IfcClassificationReference(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationReference::IfcClassificationReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcClassificationReferenceSelect > v4_ReferencedSource, boost::optional< IfcText > v5_Description, boost::optional< IfcIdentifier > v6_Sort) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_ReferencedSource) { e->setArgument(3,(*v4_ReferencedSource)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Sort) { e->setArgument(5,(*v6_Sort)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcClassificationReference::IfcClassificationReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcClassificationReference::IfcClassificationReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcClassificationReferenceSelect > v4_ReferencedSource, boost::optional< IfcText > v5_Description, boost::optional< IfcIdentifier > v6_Sort) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_ReferencedSource) { e->setArgument(3,(*v4_ReferencedSource)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Sort) { e->setArgument(5,(*v6_Sort)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClosedShell bool IfcClosedShell::is(Type::Enum v) const { return v == Type::IfcClosedShell || IfcConnectedFaceSet::is(v); } Type::Enum IfcClosedShell::type() const { return Type::IfcClosedShell; } Type::Enum IfcClosedShell::Class() { return Type::IfcClosedShell; } -IfcClosedShell::IfcClosedShell(IfcAbstractEntityPtr e) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcClosedShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClosedShell::IfcClosedShell(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcClosedShell::IfcClosedShell(IfcAbstractEntity* e) : IfcConnectedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClosedShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoil::PredefinedType() { return IfcCoilTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoil)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoil::IfcCoil(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoil)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoil::IfcCoil(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoilTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoilType -IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoilType::PredefinedType() { return IfcCoilTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoilType::IfcCoilType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoilType::IfcCoilType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgb -IfcNormalisedRatioMeasure IfcColourRgb::Red() { return *entity->getArgument(1); } +IfcNormalisedRatioMeasure IfcColourRgb::Red() const { return *entity->getArgument(1); } void IfcColourRgb::setRed(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Green() { return *entity->getArgument(2); } +IfcNormalisedRatioMeasure IfcColourRgb::Green() const { return *entity->getArgument(2); } void IfcColourRgb::setGreen(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Blue() { return *entity->getArgument(3); } +IfcNormalisedRatioMeasure IfcColourRgb::Blue() const { return *entity->getArgument(3); } void IfcColourRgb::setBlue(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcColourRgb::is(Type::Enum v) const { return v == Type::IfcColourRgb || IfcColourSpecification::is(v); } Type::Enum IfcColourRgb::type() const { return Type::IfcColourRgb; } Type::Enum IfcColourRgb::Class() { return Type::IfcColourRgb; } -IfcColourRgb::IfcColourRgb(IfcAbstractEntityPtr e) : IfcColourSpecification((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColourRgb)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourRgb::IfcColourRgb(boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue) : IfcColourSpecification((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } +IfcColourRgb::IfcColourRgb(IfcAbstractEntity* e) : IfcColourSpecification((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourRgb)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColourRgb::IfcColourRgb(boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgbList bool IfcColourRgbList::is(Type::Enum v) const { return v == Type::IfcColourRgbList || IfcPresentationItem::is(v); } Type::Enum IfcColourRgbList::type() const { return Type::IfcColourRgbList; } Type::Enum IfcColourRgbList::Class() { return Type::IfcColourRgbList; } -IfcColourRgbList::IfcColourRgbList(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColourRgbList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourRgbList::IfcColourRgbList() : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcColourRgbList::IfcColourRgbList(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourRgbList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColourRgbList::IfcColourRgbList() : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourSpecification -bool IfcColourSpecification::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcColourSpecification::Name() { return *entity->getArgument(0); } +bool IfcColourSpecification::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcColourSpecification::Name() const { return *entity->getArgument(0); } void IfcColourSpecification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcColourSpecification::is(Type::Enum v) const { return v == Type::IfcColourSpecification || IfcPresentationItem::is(v); } Type::Enum IfcColourSpecification::type() const { return Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::Class() { return Type::IfcColourSpecification; } -IfcColourSpecification::IfcColourSpecification(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColourSpecification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourSpecification::IfcColourSpecification(boost::optional< IfcLabel > v1_Name) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcColourSpecification::IfcColourSpecification(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourSpecification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColourSpecification::IfcColourSpecification(boost::optional< IfcLabel > v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumn -bool IfcColumn::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumn::PredefinedType() { return IfcColumnTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumn::IfcColumn(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColumn::IfcColumn(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcColumn((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColumnStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnStandardCase::IfcColumnStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcColumn((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcColumn((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColumnStandardCase::IfcColumnStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcColumn((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnType -IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnType::PredefinedType() { return IfcColumnTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnType::IfcColumnType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcColumnType::IfcColumnType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCommunicationsAppliance -bool IfcCommunicationsAppliance::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum IfcCommunicationsAppliance::PredefinedType() { return IfcCommunicationsApplianceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCommunicationsApplianceType -IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum IfcCommunicationsApplianceType::PredefinedType() { return IfcCommunicationsApplianceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexProperty -IfcIdentifier IfcComplexProperty::UsageName() { return *entity->getArgument(2); } +IfcIdentifier IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } void IfcComplexProperty::setUsageName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcComplexProperty::HasProperties() { RETURN_AS_LIST(IfcProperty,3) } -void IfcComplexProperty::setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcTemplatedEntityList< IfcProperty >::ptr IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcComplexProperty::is(Type::Enum v) const { return v == Type::IfcComplexProperty || IfcProperty::is(v); } Type::Enum IfcComplexProperty::type() const { return Type::IfcComplexProperty; } Type::Enum IfcComplexProperty::Class() { return Type::IfcComplexProperty; } -IfcComplexProperty::IfcComplexProperty(IfcAbstractEntityPtr e) : IfcProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexProperty::IfcComplexProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v4_HasProperties) : IfcProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcComplexProperty::IfcComplexProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcComplexProperty::IfcComplexProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexPropertyTemplate -bool IfcComplexPropertyTemplate::hasUsageName() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcComplexPropertyTemplate::UsageName() { return *entity->getArgument(4); } +bool IfcComplexPropertyTemplate::hasUsageName() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcComplexPropertyTemplate::UsageName() const { return *entity->getArgument(4); } void IfcComplexPropertyTemplate::setUsageName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcComplexPropertyTemplate::hasTemplateType() { return !entity->getArgument(5)->isNull(); } -IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum IfcComplexPropertyTemplate::TemplateType() { return IfcComplexPropertyTemplateTypeEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > IfcComplexPropertyTemplate::HasPropertyTemplates() { RETURN_AS_LIST(IfcPropertyTemplate,6) } -void IfcComplexPropertyTemplate::setHasPropertyTemplates(SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcPropertyTemplate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcComplexPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertyTemplate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_UsageName) { e->setArgument(4,(*v5_UsageName)); } else { e->setArgument(4); } if (v6_TemplateType) { e->setArgument(5,*v6_TemplateType,IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType)); } else { e->setArgument(5); } if (v7_HasPropertyTemplates) { e->setArgument(6,(*v7_HasPropertyTemplates)->generalize()); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeCurve -SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > IfcCompositeCurve::Segments() { RETURN_AS_LIST(IfcCompositeCurveSegment,0) } -void IfcCompositeCurve::setSegments(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcCompositeCurve::SelfIntersect() { return *entity->getArgument(1); } +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()); } +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); } 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; } -IfcCompositeCurve::IfcCompositeCurve(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeCurve::IfcCompositeCurve(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcCompositeCurve::IfcCompositeCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeCurve::IfcCompositeCurve(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcBoundedCurve((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 IfcCompositeCurveOnSurface bool IfcCompositeCurveOnSurface::is(Type::Enum v) const { return v == Type::IfcCompositeCurveOnSurface || IfcCompositeCurve::is(v); } Type::Enum IfcCompositeCurveOnSurface::type() const { return Type::IfcCompositeCurveOnSurface; } Type::Enum IfcCompositeCurveOnSurface::Class() { return Type::IfcCompositeCurveOnSurface; } -IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcAbstractEntityPtr e) : IfcCompositeCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurveOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcAbstractEntity* e) : IfcCompositeCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurveOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeCurveSegment -IfcTransitionCode::IfcTransitionCode IfcCompositeCurveSegment::Transition() { return IfcTransitionCode::FromString(*entity->getArgument(0)); } +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)); } -bool IfcCompositeCurveSegment::SameSense() { return *entity->getArgument(1); } +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); } -IfcCurve* IfcCompositeCurveSegment::ParentCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcCompositeCurve::list IfcCompositeCurveSegment::UsingCurves() { RETURN_INVERSE(IfcCompositeCurve) } +IfcCompositeCurve::list::ptr IfcCompositeCurveSegment::UsingCurves() const { return entity->getInverse(Type::IfcCompositeCurve)->as(); } bool IfcCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcCompositeCurveSegment || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCompositeCurveSegment::type() const { return Type::IfcCompositeCurveSegment; } Type::Enum IfcCompositeCurveSegment::Class() { return Type::IfcCompositeCurveSegment; } -IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); entity = e; EntityBuffer::Add(this); } +IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeProfileDef -SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > IfcCompositeProfileDef::Profiles() { RETURN_AS_LIST(IfcProfileDef,2) } -void IfcCompositeProfileDef::setProfiles(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcCompositeProfileDef::hasLabel() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcCompositeProfileDef::Label() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcProfileDef >::ptr IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcCompositeProfileDef::hasLabel() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } void IfcCompositeProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } Type::Enum IfcCompositeProfileDef::type() const { return Type::IfcCompositeProfileDef; } Type::Enum IfcCompositeProfileDef::Class() { return Type::IfcCompositeProfileDef; } -IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompositeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v3_Profiles, boost::optional< IfcLabel > v4_Label) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressor -bool IfcCompressor::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressor::PredefinedType() { return IfcCompressorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompressor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressor::IfcCompressor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompressor::IfcCompressor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCompressorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressorType -IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorType::PredefinedType() { return IfcCompressorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressorType::IfcCompressorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCompressorType::IfcCompressorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenser -bool IfcCondenser::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenser::PredefinedType() { return IfcCondenserTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCondenser)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenser::IfcCondenser(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenser)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCondenser::IfcCondenser(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCondenserTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenserType -IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserType::PredefinedType() { return IfcCondenserTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenserType::IfcCondenserType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCondenserType::IfcCondenserType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConic -IfcAxis2Placement IfcConic::Position() { return *entity->getArgument(0); } +IfcAxis2Placement IfcConic::Position() const { return *entity->getArgument(0); } void IfcConic::setPosition(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConic::is(Type::Enum v) const { return v == Type::IfcConic || IfcCurve::is(v); } Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } -IfcConic::IfcConic(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConic::IfcConic(IfcAxis2Placement v1_Position) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcConic::IfcConic(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConic::IfcConic(IfcAxis2Placement v1_Position) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectedFaceSet -SHARED_PTR< IfcTemplatedEntityList< IfcFace > > IfcConnectedFaceSet::CfsFaces() { RETURN_AS_LIST(IfcFace,0) } -void IfcConnectedFaceSet::setCfsFaces(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcConnectedFaceSet::IfcConnectedFaceSet(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectedFaceSet::IfcConnectedFaceSet(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcConnectedFaceSet::IfcConnectedFaceSet(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionCurveGeometry -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatingElement() { return *entity->getArgument(0); } +IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionGeometry bool IfcConnectionGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionGeometry; } Type::Enum IfcConnectionGeometry::type() const { return Type::IfcConnectionGeometry; } Type::Enum IfcConnectionGeometry::Class() { return Type::IfcConnectionGeometry; } -IfcConnectionGeometry::IfcConnectionGeometry(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConnectionGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionGeometry::IfcConnectionGeometry(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConnectionGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointEccentricity -bool IfcConnectionPointEccentricity::hasEccentricityInX() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInX() { return *entity->getArgument(2); } +bool IfcConnectionPointEccentricity::hasEccentricityInX() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } void IfcConnectionPointEccentricity::setEccentricityInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInY() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInY() { return *entity->getArgument(3); } +bool IfcConnectionPointEccentricity::hasEccentricityInY() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } void IfcConnectionPointEccentricity::setEccentricityInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConnectionPointEccentricity::hasEccentricityInZ() { return !entity->getArgument(4)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInZ() { return *entity->getArgument(4); } +bool IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !entity->getArgument(4)->isNull(); } +IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } void IfcConnectionPointEccentricity::setEccentricityInZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionPointGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcAbstractEntity* e) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointGeometry -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatingElement() { return *entity->getArgument(0); } +IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionPointGeometry::hasPointOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionSurfaceGeometry -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() { return *entity->getArgument(0); } +IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionVolumeGeometry -IfcSolidOrShell IfcConnectionVolumeGeometry::VolumeOnRelatingElement() { return *entity->getArgument(0); } +IfcSolidOrShell IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return *entity->getArgument(0); } void IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(IfcSolidOrShell v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConnectionVolumeGeometry::hasVolumeOnRelatedElement() { return !entity->getArgument(1)->isNull(); } -IfcSolidOrShell IfcConnectionVolumeGeometry::VolumeOnRelatedElement() { return *entity->getArgument(1); } +bool IfcConnectionVolumeGeometry::hasVolumeOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } +IfcSolidOrShell IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { return *entity->getArgument(1); } void IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(IfcSolidOrShell v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConnectionVolumeGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcSolidOrShell v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell > v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VolumeOnRelatingElement)); if (v2_VolumeOnRelatedElement) { e->setArgument(1,(*v2_VolumeOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionVolumeGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcSolidOrShell v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell > v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VolumeOnRelatingElement)); if (v2_VolumeOnRelatedElement) { e->setArgument(1,(*v2_VolumeOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraint -IfcLabel IfcConstraint::Name() { return *entity->getArgument(0); } +IfcLabel IfcConstraint::Name() const { return *entity->getArgument(0); } void IfcConstraint::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcConstraint::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraint::Description() { return *entity->getArgument(1); } +bool IfcConstraint::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcConstraint::Description() const { return *entity->getArgument(1); } void IfcConstraint::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcConstraintEnum::IfcConstraintEnum IfcConstraint::ConstraintGrade() { return IfcConstraintEnum::FromString(*entity->getArgument(2)); } +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() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcConstraint::ConstraintSource() { return *entity->getArgument(3); } +bool IfcConstraint::hasConstraintSource() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } void IfcConstraint::setConstraintSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcConstraint::hasCreatingActor() { return !entity->getArgument(4)->isNull(); } -IfcActorSelect IfcConstraint::CreatingActor() { return *entity->getArgument(4); } +bool IfcConstraint::hasCreatingActor() const { return !entity->getArgument(4)->isNull(); } +IfcActorSelect IfcConstraint::CreatingActor() const { return *entity->getArgument(4); } void IfcConstraint::setCreatingActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcConstraint::hasCreationTime() { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcConstraint::CreationTime() { return *entity->getArgument(5); } +bool IfcConstraint::hasCreationTime() const { return !entity->getArgument(5)->isNull(); } +IfcDateTime IfcConstraint::CreationTime() const { return *entity->getArgument(5); } void IfcConstraint::setCreationTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcConstraint::hasUserDefinedGrade() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcConstraint::UserDefinedGrade() { return *entity->getArgument(6); } +bool IfcConstraint::hasUserDefinedGrade() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } void IfcConstraint::setUserDefinedGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcExternalReferenceRelationship::list IfcConstraint::HasExternalReferences() { RETURN_INVERSE(IfcExternalReferenceRelationship) } -IfcResourceConstraintRelationship::list IfcConstraint::PropertiesForConstraint() { RETURN_INVERSE(IfcResourceConstraintRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcConstraint::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } +IfcResourceConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return entity->getInverse(Type::IfcResourceConstraintRelationship)->as(); } bool IfcConstraint::is(Type::Enum v) const { return v == Type::IfcConstraint; } Type::Enum IfcConstraint::type() const { return Type::IfcConstraint; } Type::Enum IfcConstraint::Class() { return Type::IfcConstraint; } -IfcConstraint::IfcConstraint(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstraint::IfcConstraint(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcConstraint::IfcConstraint(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResource -bool IfcConstructionEquipmentResource::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum IfcConstructionEquipmentResource::PredefinedType() { return IfcConstructionEquipmentResourceTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResourceType -IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum IfcConstructionEquipmentResourceType::PredefinedType() { return IfcConstructionEquipmentResourceTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResource -bool IfcConstructionMaterialResource::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum IfcConstructionMaterialResource::PredefinedType() { return IfcConstructionMaterialResourceTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResourceType -IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum IfcConstructionMaterialResourceType::PredefinedType() { return IfcConstructionMaterialResourceTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResource -bool IfcConstructionProductResource::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum IfcConstructionProductResource::PredefinedType() { return IfcConstructionProductResourceTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResource::IfcConstructionProductResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionProductResource::IfcConstructionProductResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResourceType -IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum IfcConstructionProductResourceType::PredefinedType() { return IfcConstructionProductResourceTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResource -bool IfcConstructionResource::hasUsage() { return !entity->getArgument(7)->isNull(); } -IfcResourceTime* IfcConstructionResource::Usage() { return (IfcResourceTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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() { return !entity->getArgument(8)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcConstructionResource::BaseCosts() { RETURN_AS_LIST(IfcAppliedValue,8) } -void IfcConstructionResource::setBaseCosts(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcConstructionResource::hasBaseQuantity() { return !entity->getArgument(9)->isNull(); } -IfcPhysicalQuantity* IfcConstructionResource::BaseQuantity() { return (IfcPhysicalQuantity*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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); } 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(IfcAbstractEntityPtr e) : IfcResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResource::IfcConstructionResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionResource::IfcConstructionResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResourceType -bool IfcConstructionResourceType::hasBaseCosts() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > IfcConstructionResourceType::BaseCosts() { RETURN_AS_LIST(IfcAppliedValue,9) } -void IfcConstructionResourceType::setBaseCosts(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcConstructionResourceType::hasBaseQuantity() { return !entity->getArgument(10)->isNull(); } -IfcPhysicalQuantity* IfcConstructionResourceType::BaseQuantity() { return (IfcPhysicalQuantity*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcTypeResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConstructionResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResourceType::IfcConstructionResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcTypeResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConstructionResourceType::IfcConstructionResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContext -bool IfcContext::hasObjectType() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcContext::ObjectType() { return *entity->getArgument(4); } +bool IfcContext::hasObjectType() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcContext::ObjectType() const { return *entity->getArgument(4); } void IfcContext::setObjectType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcContext::hasLongName() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcContext::LongName() { return *entity->getArgument(5); } +bool IfcContext::hasLongName() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcContext::LongName() const { return *entity->getArgument(5); } void IfcContext::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcContext::hasPhase() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcContext::Phase() { return *entity->getArgument(6); } +bool IfcContext::hasPhase() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcContext::Phase() const { return *entity->getArgument(6); } void IfcContext::setPhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcContext::hasRepresentationContexts() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > IfcContext::RepresentationContexts() { RETURN_AS_LIST(IfcRepresentationContext,7) } -void IfcContext::setRepresentationContexts(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcContext::hasUnitsInContext() { return !entity->getArgument(8)->isNull(); } -IfcUnitAssignment* IfcContext::UnitsInContext() { return (IfcUnitAssignment*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } -IfcRelDefinesByProperties::list IfcContext::IsDefinedBy() { RETURN_INVERSE(IfcRelDefinesByProperties) } -IfcRelDeclares::list IfcContext::Declares() { RETURN_INVERSE(IfcRelDeclares) } +IfcRelDefinesByProperties::list::ptr IfcContext::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefinesByProperties)->as(); } +IfcRelDeclares::list::ptr IfcContext::Declares() const { return entity->getInverse(Type::IfcRelDeclares)->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(IfcAbstractEntityPtr e) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContext::IfcContext(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcContext::IfcContext(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContextDependentUnit -IfcLabel IfcContextDependentUnit::Name() { return *entity->getArgument(2); } +IfcLabel IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } void IfcContextDependentUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcExternalReferenceRelationship::list IfcContextDependentUnit::HasExternalReference() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcContextDependentUnit::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcContextDependentUnit::is(Type::Enum v) const { return v == Type::IfcContextDependentUnit || IfcNamedUnit::is(v); } Type::Enum IfcContextDependentUnit::type() const { return Type::IfcContextDependentUnit; } Type::Enum IfcContextDependentUnit::Class() { return Type::IfcContextDependentUnit; } -IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntityPtr e) : IfcNamedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcContextDependentUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name) : IfcNamedUnit((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } +IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContextDependentUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControl -bool IfcControl::hasIdentification() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcControl::Identification() { return *entity->getArgument(5); } +bool IfcControl::hasIdentification() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcControl::Identification() const { return *entity->getArgument(5); } void IfcControl::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcRelAssignsToControl::list IfcControl::Controls() { RETURN_INVERSE(IfcRelAssignsToControl) } +IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return entity->getInverse(Type::IfcRelAssignsToControl)->as(); } bool IfcControl::is(Type::Enum v) const { return v == Type::IfcControl || IfcObject::is(v); } Type::Enum IfcControl::type() const { return Type::IfcControl; } Type::Enum IfcControl::Class() { return Type::IfcControl; } -IfcControl::IfcControl(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControl::IfcControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcControl::IfcControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcController -bool IfcController::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcControllerTypeEnum::IfcControllerTypeEnum IfcController::PredefinedType() { return IfcControllerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcController::IfcController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcController::IfcController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcControllerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControllerType -IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerType::PredefinedType() { return IfcControllerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControllerType::IfcControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcControllerType::IfcControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnit -IfcLabel IfcConversionBasedUnit::Name() { return *entity->getArgument(2); } +IfcLabel IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } void IfcConversionBasedUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcExternalReferenceRelationship::list IfcConversionBasedUnit::HasExternalReference() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcConversionBasedUnit::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcConversionBasedUnit::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnit || IfcNamedUnit::is(v); } Type::Enum IfcConversionBasedUnit::type() const { return Type::IfcConversionBasedUnit; } Type::Enum IfcConversionBasedUnit::Class() { return Type::IfcConversionBasedUnit; } -IfcConversionBasedUnit::IfcConversionBasedUnit(IfcAbstractEntityPtr e) : IfcNamedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } +IfcConversionBasedUnit::IfcConversionBasedUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnitWithOffset -IfcReal IfcConversionBasedUnitWithOffset::ConversionOffset() { return *entity->getArgument(4); } +IfcReal IfcConversionBasedUnitWithOffset::ConversionOffset() const { return *entity->getArgument(4); } void IfcConversionBasedUnitWithOffset::setConversionOffset(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcConversionBasedUnitWithOffset::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnitWithOffset || IfcConversionBasedUnit::is(v); } Type::Enum IfcConversionBasedUnitWithOffset::type() const { return Type::IfcConversionBasedUnitWithOffset; } Type::Enum IfcConversionBasedUnitWithOffset::Class() { return Type::IfcConversionBasedUnitWithOffset; } -IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcAbstractEntityPtr e) : IfcConversionBasedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnitWithOffset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, IfcReal v5_ConversionOffset) : IfcConversionBasedUnit((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); e->setArgument(4,(v5_ConversionOffset)); entity = e; EntityBuffer::Add(this); } +IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcAbstractEntity* e) : IfcConversionBasedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnitWithOffset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, IfcReal v5_ConversionOffset) : IfcConversionBasedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); e->setArgument(4,(v5_ConversionOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeam -bool IfcCooledBeam::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeam::PredefinedType() { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCooledBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeam::IfcCooledBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCooledBeam::IfcCooledBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCooledBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeamType -IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamType::PredefinedType() { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeamType::IfcCooledBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCooledBeamType::IfcCooledBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTower -bool IfcCoolingTower::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTower::PredefinedType() { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoolingTower)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTower::IfcCoolingTower(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTower)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoolingTower::IfcCoolingTower(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoolingTowerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTowerType -IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerType::PredefinedType() { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTowerType::IfcCoolingTowerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoolingTowerType::IfcCoolingTowerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateOperation -IfcCoordinateReferenceSystemSelect IfcCoordinateOperation::SourceCRS() { return *entity->getArgument(0); } +IfcCoordinateReferenceSystemSelect IfcCoordinateOperation::SourceCRS() const { return *entity->getArgument(0); } void IfcCoordinateOperation::setSourceCRS(IfcCoordinateReferenceSystemSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCoordinateReferenceSystem* IfcCoordinateOperation::TargetCRS() { return (IfcCoordinateReferenceSystem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcCoordinateReferenceSystem* IfcCoordinateOperation::TargetCRS() const { return (IfcCoordinateReferenceSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcCoordinateOperation::setTargetCRS(IfcCoordinateReferenceSystem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCoordinateOperation::is(Type::Enum v) const { return v == Type::IfcCoordinateOperation; } Type::Enum IfcCoordinateOperation::type() const { return Type::IfcCoordinateOperation; } Type::Enum IfcCoordinateOperation::Class() { return Type::IfcCoordinateOperation; } -IfcCoordinateOperation::IfcCoordinateOperation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateOperation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoordinateOperation::IfcCoordinateOperation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateOperation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCoordinateOperation::IfcCoordinateOperation(IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateReferenceSystem -bool IfcCoordinateReferenceSystem::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCoordinateReferenceSystem::Name() { return *entity->getArgument(0); } +bool IfcCoordinateReferenceSystem::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } void IfcCoordinateReferenceSystem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcCoordinateReferenceSystem::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcCoordinateReferenceSystem::Description() { return *entity->getArgument(1); } +bool IfcCoordinateReferenceSystem::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } void IfcCoordinateReferenceSystem::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcIdentifier IfcCoordinateReferenceSystem::GeodeticDatum() { return *entity->getArgument(2); } +IfcIdentifier IfcCoordinateReferenceSystem::GeodeticDatum() const { return *entity->getArgument(2); } void IfcCoordinateReferenceSystem::setGeodeticDatum(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCoordinateReferenceSystem::hasVerticalDatum() { return !entity->getArgument(3)->isNull(); } -IfcIdentifier IfcCoordinateReferenceSystem::VerticalDatum() { return *entity->getArgument(3); } +bool IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !entity->getArgument(3)->isNull(); } +IfcIdentifier IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } void IfcCoordinateReferenceSystem::setVerticalDatum(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCoordinateReferenceSystem::is(Type::Enum v) const { return v == Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::type() const { return Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::Class() { return Type::IfcCoordinateReferenceSystem; } -IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateReferenceSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateReferenceSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem -bool IfcCostItem::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcCostItemTypeEnum::IfcCostItemTypeEnum IfcCostItem::PredefinedType() { return IfcCostItemTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > IfcCostItem::CostValues() { RETURN_AS_LIST(IfcCostValue,7) } -void IfcCostItem::setCostValues(SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcCostItem::hasCostQuantities() { return !entity->getArgument(8)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcCostItem::CostQuantities() { RETURN_AS_LIST(IfcPhysicalQuantity,8) } -void IfcCostItem::setCostQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostItem::IfcCostItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > > v8_CostValues, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > > v9_CostQuantities) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCostItem::IfcCostItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostItemTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_CostValues) { e->setArgument(7,(*v8_CostValues)->generalize()); } else { e->setArgument(7); } if (v9_CostQuantities) { e->setArgument(8,(*v9_CostQuantities)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostSchedule -bool IfcCostSchedule::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcCostSchedule::Status() { return *entity->getArgument(7); } +bool IfcCostSchedule::hasStatus() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcCostSchedule::Status() const { return *entity->getArgument(7); } void IfcCostSchedule::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcCostSchedule::hasSubmittedOn() { return !entity->getArgument(8)->isNull(); } -IfcDateTime IfcCostSchedule::SubmittedOn() { return *entity->getArgument(8); } +bool IfcCostSchedule::hasSubmittedOn() const { return !entity->getArgument(8)->isNull(); } +IfcDateTime IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(8); } void IfcCostSchedule::setSubmittedOn(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcCostSchedule::hasUpdateDate() { return !entity->getArgument(9)->isNull(); } -IfcDateTime IfcCostSchedule::UpdateDate() { return *entity->getArgument(9); } +bool IfcCostSchedule::hasUpdateDate() const { return !entity->getArgument(9)->isNull(); } +IfcDateTime IfcCostSchedule::UpdateDate() const { return *entity->getArgument(9); } void IfcCostSchedule::setUpdateDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostSchedule::IfcCostSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcDateTime > v9_SubmittedOn, boost::optional< IfcDateTime > v10_UpdateDate) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCostSchedule::IfcCostSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcDateTime > v9_SubmittedOn, boost::optional< IfcDateTime > v10_UpdateDate) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostScheduleTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_SubmittedOn) { e->setArgument(8,(*v9_SubmittedOn)); } else { e->setArgument(8); } if (v10_UpdateDate) { e->setArgument(9,(*v10_UpdateDate)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcAppliedValue((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostValue::IfcCostValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_Components) : IfcAppliedValue((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcCostValue::IfcCostValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCostValue::IfcCostValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCovering -bool IfcCovering::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCovering::PredefinedType() { return IfcCoveringTypeEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcRelCoversSpaces::list IfcCovering::CoversSpaces() { RETURN_INVERSE(IfcRelCoversSpaces) } -IfcRelCoversBldgElements::list IfcCovering::CoversElements() { RETURN_INVERSE(IfcRelCoversBldgElements) } +IfcRelCoversSpaces::list::ptr IfcCovering::CoversSpaces() const { return entity->getInverse(Type::IfcRelCoversSpaces)->as(); } +IfcRelCoversBldgElements::list::ptr IfcCovering::CoversElements() const { return entity->getInverse(Type::IfcRelCoversBldgElements)->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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCovering::IfcCovering(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCovering::IfcCovering(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoveringType -IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringType::PredefinedType() { return IfcCoveringTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoveringType::IfcCoveringType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCoveringType::IfcCoveringType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResource -bool IfcCrewResource::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum IfcCrewResource::PredefinedType() { return IfcCrewResourceTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResource::IfcCrewResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCrewResource::IfcCrewResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResourceType -IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum IfcCrewResourceType::PredefinedType() { return IfcCrewResourceTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCrewResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResourceType::IfcCrewResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCrewResourceType::IfcCrewResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcCrewResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgPrimitive3D -IfcAxis2Placement3D* IfcCsgPrimitive3D::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCsgPrimitive3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCsgPrimitive3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgSolid -IfcCsgSelect IfcCsgSolid::TreeRootExpression() { return *entity->getArgument(0); } +IfcCsgSelect IfcCsgSolid::TreeRootExpression() const { return *entity->getArgument(0); } void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCsgSolid::is(Type::Enum v) const { return v == Type::IfcCsgSolid || IfcSolidModel::is(v); } Type::Enum IfcCsgSolid::type() const { return Type::IfcCsgSolid; } Type::Enum IfcCsgSolid::Class() { return Type::IfcCsgSolid; } -IfcCsgSolid::IfcCsgSolid(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCsgSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCsgSolid::IfcCsgSolid(IfcCsgSelect v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } +IfcCsgSolid::IfcCsgSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCsgSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCsgSolid::IfcCsgSolid(IfcCsgSelect v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurrencyRelationship -IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() { return (IfcMonetaryUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcCurrencyRelationship::setRelatingMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() { return (IfcMonetaryUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcCurrencyRelationship::setRelatedMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveRatioMeasure IfcCurrencyRelationship::ExchangeRate() { return *entity->getArgument(4); } +IfcPositiveRatioMeasure IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(4); } void IfcCurrencyRelationship::setExchangeRate(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcCurrencyRelationship::hasRateDateTime() { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcCurrencyRelationship::RateDateTime() { return *entity->getArgument(5); } +bool IfcCurrencyRelationship::hasRateDateTime() const { return !entity->getArgument(5)->isNull(); } +IfcDateTime IfcCurrencyRelationship::RateDateTime() const { return *entity->getArgument(5); } void IfcCurrencyRelationship::setRateDateTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcCurrencyRelationship::hasRateSource() { return !entity->getArgument(6)->isNull(); } -IfcLibraryInformation* IfcCurrencyRelationship::RateSource() { return (IfcLibraryInformation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, IfcPositiveRatioMeasure v5_ExchangeRate, boost::optional< IfcDateTime > v6_RateDateTime, IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, IfcPositiveRatioMeasure v5_ExchangeRate, boost::optional< IfcDateTime > v6_RateDateTime, IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMonetaryUnit)); e->setArgument(3,(v4_RelatedMonetaryUnit)); e->setArgument(4,(v5_ExchangeRate)); if (v6_RateDateTime) { e->setArgument(5,(*v6_RateDateTime)); } else { e->setArgument(5); } e->setArgument(6,(v7_RateSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWall -bool IfcCurtainWall::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWall::PredefinedType() { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWall::IfcCurtainWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurtainWall::IfcCurtainWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCurtainWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWallType -IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallType::PredefinedType() { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWallType::IfcCurtainWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurtainWallType::IfcCurtainWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurve bool IfcCurve::is(Type::Enum v) const { return v == Type::IfcCurve || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcCurve::type() const { return Type::IfcCurve; } Type::Enum IfcCurve::Class() { return Type::IfcCurve; } -IfcCurve::IfcCurve(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcCurve::IfcCurve(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurve::IfcCurve() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveBoundedPlane -IfcPlane* IfcCurveBoundedPlane::BasisSurface() { return (IfcPlane*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcCurve* IfcCurveBoundedPlane::OuterBoundary() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > IfcCurveBoundedPlane::InnerBoundaries() { RETURN_AS_LIST(IfcCurve,2) } -void IfcCurveBoundedPlane::setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } 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; } -IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcAbstractEntityPtr e) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveBoundedPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v3_InnerBoundaries) : IfcBoundedSurface((IfcAbstractEntityPtr)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); } +IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveBoundedPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcCurveBoundedSurface -IfcSurface* IfcCurveBoundedSurface::BasisSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > IfcCurveBoundedSurface::Boundaries() { RETURN_AS_LIST(IfcBoundaryCurve,1) } -void IfcCurveBoundedSurface::setBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcCurveBoundedSurface::ImplicitOuter() { return *entity->getArgument(2); } +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()); } +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); } 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; } -IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcAbstractEntityPtr e) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveBoundedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcSurface* v1_BasisSurface, SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface((IfcAbstractEntityPtr)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); } +IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveBoundedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(1)->isNull(); } -IfcCurveFontOrScaledCurveFontSelect IfcCurveStyle::CurveFont() { return *entity->getArgument(1); } +bool IfcCurveStyle::hasCurveFont() const { return !entity->getArgument(1)->isNull(); } +IfcCurveFontOrScaledCurveFontSelect IfcCurveStyle::CurveFont() const { return *entity->getArgument(1); } void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcCurveStyle::hasCurveWidth() { return !entity->getArgument(2)->isNull(); } -IfcSizeSelect IfcCurveStyle::CurveWidth() { return *entity->getArgument(2); } +bool IfcCurveStyle::hasCurveWidth() const { return !entity->getArgument(2)->isNull(); } +IfcSizeSelect IfcCurveStyle::CurveWidth() const { return *entity->getArgument(2); } void IfcCurveStyle::setCurveWidth(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcCurveStyle::hasCurveColour() { return !entity->getArgument(3)->isNull(); } -IfcColour IfcCurveStyle::CurveColour() { return *entity->getArgument(3); } +bool IfcCurveStyle::hasCurveColour() const { return !entity->getArgument(3)->isNull(); } +IfcColour IfcCurveStyle::CurveColour() const { return *entity->getArgument(3); } void IfcCurveStyle::setCurveColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcCurveStyle::hasModelOrDraughting() { return !entity->getArgument(4)->isNull(); } -bool IfcCurveStyle::ModelOrDraughting() { return *entity->getArgument(4); } +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); } 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(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyle::IfcCurveStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCurveStyle::IfcCurveStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyle::IfcCurveStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFont -bool IfcCurveStyleFont::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFont::Name() { return *entity->getArgument(0); } +bool IfcCurveStyleFont::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } void IfcCurveStyleFont::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > IfcCurveStyleFont::PatternList() { RETURN_AS_LIST(IfcCurveStyleFontPattern,1) } -void IfcCurveStyleFont::setPatternList(SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcCurveStyleFont::is(Type::Enum v) const { return v == Type::IfcCurveStyleFont || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFont::type() const { return Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::Class() { return Type::IfcCurveStyleFont; } -IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< IfcLabel > v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v2_PatternList) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontAndScaling -bool IfcCurveStyleFontAndScaling::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFontAndScaling::Name() { return *entity->getArgument(0); } +bool IfcCurveStyleFontAndScaling::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } void IfcCurveStyleFontAndScaling::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCurveStyleFontSelect IfcCurveStyleFontAndScaling::CurveFont() { return *entity->getArgument(1); } +IfcCurveStyleFontSelect IfcCurveStyleFontAndScaling::CurveFont() const { return *entity->getArgument(1); } void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveRatioMeasure IfcCurveStyleFontAndScaling::CurveFontScaling() { return *entity->getArgument(2); } +IfcPositiveRatioMeasure IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } void IfcCurveStyleFontAndScaling::setCurveFontScaling(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCurveStyleFontAndScaling::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontAndScaling || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFontAndScaling::type() const { return Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::Class() { return Type::IfcCurveStyleFontAndScaling; } -IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFontAndScaling)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFontAndScaling)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontPattern -IfcLengthMeasure IfcCurveStyleFontPattern::VisibleSegmentLength() { return *entity->getArgument(0); } +IfcLengthMeasure IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } void IfcCurveStyleFontPattern::setVisibleSegmentLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcCurveStyleFontPattern::InvisibleSegmentLength() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } void IfcCurveStyleFontPattern::setInvisibleSegmentLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCurveStyleFontPattern::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontPattern || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFontPattern::type() const { return Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::Class() { return Type::IfcCurveStyleFontPattern; } -IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFontPattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFontPattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCylindricalSurface -IfcPositiveLengthMeasure IfcCylindricalSurface::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcCylindricalSurface::Radius() const { return *entity->getArgument(1); } void IfcCylindricalSurface::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCylindricalSurface::is(Type::Enum v) const { return v == Type::IfcCylindricalSurface || IfcElementarySurface::is(v); } Type::Enum IfcCylindricalSurface::type() const { return Type::IfcCylindricalSurface; } Type::Enum IfcCylindricalSurface::Class() { return Type::IfcCylindricalSurface; } -IfcCylindricalSurface::IfcCylindricalSurface(IfcAbstractEntityPtr e) : IfcElementarySurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcCylindricalSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCylindricalSurface::IfcCylindricalSurface(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcElementarySurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCylindricalSurface::IfcCylindricalSurface(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCylindricalSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCylindricalSurface::IfcCylindricalSurface(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamper -bool IfcDamper::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamper::PredefinedType() { return IfcDamperTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDamper)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamper::IfcDamper(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamper)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDamper::IfcDamper(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDamperTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamperType -IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperType::PredefinedType() { return IfcDamperTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamperType::IfcDamperType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDamperType::IfcDamperType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedProfileDef -IfcProfileDef* IfcDerivedProfileDef::ParentProfile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcCartesianTransformationOperator2D* IfcDerivedProfileDef::Operator() { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcDerivedProfileDef::Label() { return *entity->getArgument(4); } +bool IfcDerivedProfileDef::hasLabel() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } void IfcDerivedProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDerivedProfileDef::is(Type::Enum v) const { return v == Type::IfcDerivedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDef; } Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } -IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label) : IfcProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnit -SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > IfcDerivedUnit::Elements() { RETURN_AS_LIST(IfcDerivedUnitElement,0) } -void IfcDerivedUnit::setElements(SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } +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()); } +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() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDerivedUnit::UserDefinedType() { return *entity->getArgument(2); } +bool IfcDerivedUnit::hasUserDefinedType() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } void IfcDerivedUnit::setUserDefinedType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDerivedUnit::is(Type::Enum v) const { return v == Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::type() const { return Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::Class() { return Type::IfcDerivedUnit; } -IfcDerivedUnit::IfcDerivedUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedUnit::IfcDerivedUnit(SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDerivedUnit::IfcDerivedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnitElement -IfcNamedUnit* IfcDerivedUnitElement::Unit() { return (IfcNamedUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -int IfcDerivedUnitElement::Exponent() { return *entity->getArgument(1); } +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); } 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; } -IfcDerivedUnitElement::IfcDerivedUnitElement(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnitElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDerivedUnitElement::IfcDerivedUnitElement(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnitElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDerivedUnitElement::IfcDerivedUnitElement(IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Unit)); e->setArgument(1,(v2_Exponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionalExponents -int IfcDimensionalExponents::LengthExponent() { return *entity->getArgument(0); } +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); } -int IfcDimensionalExponents::MassExponent() { return *entity->getArgument(1); } +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); } -int IfcDimensionalExponents::TimeExponent() { return *entity->getArgument(2); } +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); } -int IfcDimensionalExponents::ElectricCurrentExponent() { return *entity->getArgument(3); } +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); } -int IfcDimensionalExponents::ThermodynamicTemperatureExponent() { return *entity->getArgument(4); } +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); } -int IfcDimensionalExponents::AmountOfSubstanceExponent() { return *entity->getArgument(5); } +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); } -int IfcDimensionalExponents::LuminousIntensityExponent() { return *entity->getArgument(6); } +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); } 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; } -IfcDimensionalExponents::IfcDimensionalExponents(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDimensionalExponents)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDimensionalExponents::IfcDimensionalExponents(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDimensionalExponents)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcDimensionalExponents::IfcDimensionalExponents(int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LengthExponent)); e->setArgument(1,(v2_MassExponent)); e->setArgument(2,(v3_TimeExponent)); e->setArgument(3,(v4_ElectricCurrentExponent)); e->setArgument(4,(v5_ThermodynamicTemperatureExponent)); e->setArgument(5,(v6_AmountOfSubstanceExponent)); e->setArgument(6,(v7_LuminousIntensityExponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ IfcDirection::DirectionRatios() { return *entity->getArgument(0); } +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); } 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; } -IfcDirection::IfcDirection(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDirection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DirectionRatios)); entity = e; EntityBuffer::Add(this); } +IfcDirection::IfcDirection(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDirection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum IfcDiscreteAccessory::PredefinedType() { return IfcDiscreteAccessoryTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessory::IfcDiscreteAccessory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDiscreteAccessory::IfcDiscreteAccessory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessoryType -IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum IfcDiscreteAccessoryType::PredefinedType() { return IfcDiscreteAccessoryTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElement -bool IfcDistributionChamberElement::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElement::PredefinedType() { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElement::IfcDistributionChamberElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionChamberElement::IfcDistributionChamberElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElementType -IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementType::PredefinedType() { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionCircuit::IfcDistributionCircuit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcDistributionSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcDistributionSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionCircuit::IfcDistributionCircuit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcDistributionSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElement -IfcRelFlowControlElements::list IfcDistributionControlElement::AssignedToFlowElement() { RETURN_INVERSE(IfcRelFlowControlElements) } +IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } bool IfcDistributionControlElement::is(Type::Enum v) const { return v == Type::IfcDistributionControlElement || IfcDistributionElement::is(v); } Type::Enum IfcDistributionControlElement::type() const { return Type::IfcDistributionControlElement; } Type::Enum IfcDistributionControlElement::Class() { return Type::IfcDistributionControlElement; } -IfcDistributionControlElement::IfcDistributionControlElement(IfcAbstractEntityPtr e) : IfcDistributionElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElement::IfcDistributionControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionControlElement::IfcDistributionControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElementType::IfcDistributionControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionControlElementType::IfcDistributionControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElement -IfcRelConnectsPortToElement::list IfcDistributionElement::HasPorts() { RETURN_INVERSE(IfcRelConnectsPortToElement) } +IfcRelConnectsPortToElement::list::ptr IfcDistributionElement::HasPorts() const { return entity->getInverse(Type::IfcRelConnectsPortToElement)->as(); } bool IfcDistributionElement::is(Type::Enum v) const { return v == Type::IfcDistributionElement || IfcElement::is(v); } Type::Enum IfcDistributionElement::type() const { return Type::IfcDistributionElement; } Type::Enum IfcDistributionElement::Class() { return Type::IfcDistributionElement; } -IfcDistributionElement::IfcDistributionElement(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElement::IfcDistributionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionElement::IfcDistributionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElementType::IfcDistributionElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionElementType::IfcDistributionElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElement -IfcRelFlowControlElements::list IfcDistributionFlowElement::HasControlElements() { RETURN_INVERSE(IfcRelFlowControlElements) } +IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } bool IfcDistributionFlowElement::is(Type::Enum v) const { return v == Type::IfcDistributionFlowElement || IfcDistributionElement::is(v); } Type::Enum IfcDistributionFlowElement::type() const { return Type::IfcDistributionFlowElement; } Type::Enum IfcDistributionFlowElement::Class() { return Type::IfcDistributionFlowElement; } -IfcDistributionFlowElement::IfcDistributionFlowElement(IfcAbstractEntityPtr e) : IfcDistributionElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElement::IfcDistributionFlowElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionFlowElement::IfcDistributionFlowElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionPort -bool IfcDistributionPort::hasFlowDirection() { return !entity->getArgument(7)->isNull(); } -IfcFlowDirectionEnum::IfcFlowDirectionEnum IfcDistributionPort::FlowDirection() { return IfcFlowDirectionEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum IfcDistributionPort::PredefinedType() { return IfcDistributionPortTypeEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcDistributionSystemEnum::IfcDistributionSystemEnum IfcDistributionPort::SystemType() { return IfcDistributionSystemEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcPort((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionPort::IfcDistributionPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType) : IfcPort((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcPort((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionPort::IfcDistributionPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_SystemType) { e->setArgument(9,*v10_SystemType,IfcDistributionSystemEnum::ToString(*v10_SystemType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionSystem -bool IfcDistributionSystem::hasLongName() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcDistributionSystem::LongName() { return *entity->getArgument(5); } +bool IfcDistributionSystem::hasLongName() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcDistributionSystem::LongName() const { return *entity->getArgument(5); } void IfcDistributionSystem::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDistributionSystem::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcDistributionSystemEnum::IfcDistributionSystemEnum IfcDistributionSystem::PredefinedType() { return IfcDistributionSystemEnum::FromString(*entity->getArgument(6)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDistributionSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionSystem::IfcDistributionSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDistributionSystem::IfcDistributionSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformation -IfcIdentifier IfcDocumentInformation::Identification() { return *entity->getArgument(0); } +IfcIdentifier IfcDocumentInformation::Identification() const { return *entity->getArgument(0); } void IfcDocumentInformation::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcDocumentInformation::Name() { return *entity->getArgument(1); } +IfcLabel IfcDocumentInformation::Name() const { return *entity->getArgument(1); } void IfcDocumentInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcDocumentInformation::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcDocumentInformation::Description() { return *entity->getArgument(2); } +bool IfcDocumentInformation::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcDocumentInformation::Description() const { return *entity->getArgument(2); } void IfcDocumentInformation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcDocumentInformation::hasLocation() { return !entity->getArgument(3)->isNull(); } -IfcURIReference IfcDocumentInformation::Location() { return *entity->getArgument(3); } +bool IfcDocumentInformation::hasLocation() const { return !entity->getArgument(3)->isNull(); } +IfcURIReference IfcDocumentInformation::Location() const { return *entity->getArgument(3); } void IfcDocumentInformation::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcDocumentInformation::hasPurpose() { return !entity->getArgument(4)->isNull(); } -IfcText IfcDocumentInformation::Purpose() { return *entity->getArgument(4); } +bool IfcDocumentInformation::hasPurpose() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } void IfcDocumentInformation::setPurpose(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDocumentInformation::hasIntendedUse() { return !entity->getArgument(5)->isNull(); } -IfcText IfcDocumentInformation::IntendedUse() { return *entity->getArgument(5); } +bool IfcDocumentInformation::hasIntendedUse() const { return !entity->getArgument(5)->isNull(); } +IfcText IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } void IfcDocumentInformation::setIntendedUse(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDocumentInformation::hasScope() { return !entity->getArgument(6)->isNull(); } -IfcText IfcDocumentInformation::Scope() { return *entity->getArgument(6); } +bool IfcDocumentInformation::hasScope() const { return !entity->getArgument(6)->isNull(); } +IfcText IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } void IfcDocumentInformation::setScope(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDocumentInformation::hasRevision() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcDocumentInformation::Revision() { return *entity->getArgument(7); } +bool IfcDocumentInformation::hasRevision() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } void IfcDocumentInformation::setRevision(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDocumentInformation::hasDocumentOwner() { return !entity->getArgument(8)->isNull(); } -IfcActorSelect IfcDocumentInformation::DocumentOwner() { return *entity->getArgument(8); } +bool IfcDocumentInformation::hasDocumentOwner() const { return !entity->getArgument(8)->isNull(); } +IfcActorSelect IfcDocumentInformation::DocumentOwner() const { return *entity->getArgument(8); } void IfcDocumentInformation::setDocumentOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDocumentInformation::hasEditors() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcDocumentInformation::Editors() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,9) } -void IfcDocumentInformation::setEditors(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcDocumentInformation::hasCreationTime() { return !entity->getArgument(10)->isNull(); } -IfcDateTime IfcDocumentInformation::CreationTime() { return *entity->getArgument(10); } +bool IfcDocumentInformation::hasEditors() const { return !entity->getArgument(9)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcDocumentInformation::Editors() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } +void IfcDocumentInformation::setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +bool IfcDocumentInformation::hasCreationTime() const { return !entity->getArgument(10)->isNull(); } +IfcDateTime IfcDocumentInformation::CreationTime() const { return *entity->getArgument(10); } void IfcDocumentInformation::setCreationTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDocumentInformation::hasLastRevisionTime() { return !entity->getArgument(11)->isNull(); } -IfcDateTime IfcDocumentInformation::LastRevisionTime() { return *entity->getArgument(11); } +bool IfcDocumentInformation::hasLastRevisionTime() const { return !entity->getArgument(11)->isNull(); } +IfcDateTime IfcDocumentInformation::LastRevisionTime() const { return *entity->getArgument(11); } void IfcDocumentInformation::setLastRevisionTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDocumentInformation::hasElectronicFormat() { return !entity->getArgument(12)->isNull(); } -IfcIdentifier IfcDocumentInformation::ElectronicFormat() { return *entity->getArgument(12); } +bool IfcDocumentInformation::hasElectronicFormat() const { return !entity->getArgument(12)->isNull(); } +IfcIdentifier IfcDocumentInformation::ElectronicFormat() const { return *entity->getArgument(12); } void IfcDocumentInformation::setElectronicFormat(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDocumentInformation::hasValidFrom() { return !entity->getArgument(13)->isNull(); } -IfcDate IfcDocumentInformation::ValidFrom() { return *entity->getArgument(13); } +bool IfcDocumentInformation::hasValidFrom() const { return !entity->getArgument(13)->isNull(); } +IfcDate IfcDocumentInformation::ValidFrom() const { return *entity->getArgument(13); } void IfcDocumentInformation::setValidFrom(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDocumentInformation::hasValidUntil() { return !entity->getArgument(14)->isNull(); } -IfcDate IfcDocumentInformation::ValidUntil() { return *entity->getArgument(14); } +bool IfcDocumentInformation::hasValidUntil() const { return !entity->getArgument(14)->isNull(); } +IfcDate IfcDocumentInformation::ValidUntil() const { return *entity->getArgument(14); } void IfcDocumentInformation::setValidUntil(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcDocumentInformation::hasConfidentiality() { return !entity->getArgument(15)->isNull(); } -IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum IfcDocumentInformation::Confidentiality() { return IfcDocumentConfidentialityEnum::FromString(*entity->getArgument(15)); } +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() { return !entity->getArgument(16)->isNull(); } -IfcDocumentStatusEnum::IfcDocumentStatusEnum IfcDocumentInformation::Status() { return IfcDocumentStatusEnum::FromString(*entity->getArgument(16)); } +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)); } -IfcRelAssociatesDocument::list IfcDocumentInformation::DocumentInfoForObjects() { RETURN_INVERSE(IfcRelAssociatesDocument) } -IfcDocumentReference::list IfcDocumentInformation::HasDocumentReferences() { RETURN_INVERSE(IfcDocumentReference) } -IfcDocumentInformationRelationship::list IfcDocumentInformation::IsPointedTo() { RETURN_INVERSE(IfcDocumentInformationRelationship) } -IfcDocumentInformationRelationship::list IfcDocumentInformation::IsPointer() { RETURN_INVERSE(IfcDocumentInformationRelationship) } +IfcRelAssociatesDocument::list::ptr IfcDocumentInformation::DocumentInfoForObjects() const { return entity->getInverse(Type::IfcRelAssociatesDocument)->as(); } +IfcDocumentReference::list::ptr IfcDocumentInformation::HasDocumentReferences() const { return entity->getInverse(Type::IfcDocumentReference)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointedTo() const { return entity->getInverse(Type::IfcDocumentInformationRelationship)->as(); } +IfcDocumentInformationRelationship::list::ptr IfcDocumentInformation::IsPointer() const { return entity->getInverse(Type::IfcDocumentInformationRelationship)->as(); } bool IfcDocumentInformation::is(Type::Enum v) const { return v == Type::IfcDocumentInformation || IfcExternalInformation::is(v); } Type::Enum IfcDocumentInformation::type() const { return Type::IfcDocumentInformation; } Type::Enum IfcDocumentInformation::Class() { return Type::IfcDocumentInformation; } -IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntityPtr e) : IfcExternalInformation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformation::IfcDocumentInformation(IfcIdentifier v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcURIReference > v4_Location, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntities > v10_Editors, boost::optional< IfcDateTime > v11_CreationTime, boost::optional< IfcDateTime > v12_LastRevisionTime, boost::optional< IfcIdentifier > v13_ElectronicFormat, boost::optional< IfcDate > v14_ValidFrom, boost::optional< IfcDate > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcExternalInformation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Identification)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Location) { e->setArgument(3,(*v4_Location)); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentInformation::IfcDocumentInformation(IfcIdentifier v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcURIReference > v4_Location, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< IfcDateTime > v11_CreationTime, boost::optional< IfcDateTime > v12_LastRevisionTime, boost::optional< IfcIdentifier > v13_ElectronicFormat, boost::optional< IfcDate > v14_ValidFrom, boost::optional< IfcDate > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Identification)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Location) { e->setArgument(3,(*v4_Location)); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformationRelationship -IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() { return (IfcDocumentInformation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > IfcDocumentInformationRelationship::RelatedDocuments() { RETURN_AS_LIST(IfcDocumentInformation,3) } -void IfcDocumentInformationRelationship::setRelatedDocuments(SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcDocumentInformationRelationship::hasRelationshipType() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcDocumentInformationRelationship::RelationshipType() { return *entity->getArgument(4); } +IfcTemplatedEntityList< IfcDocumentInformation >::ptr IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +bool IfcDocumentInformationRelationship::hasRelationshipType() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(4); } void IfcDocumentInformationRelationship::setRelationshipType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcDocumentInformationRelationship::type() const { return Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::Class() { return Type::IfcDocumentInformationRelationship; } -IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDocumentInformation* v3_RelatingDocument, SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v4_RelatedDocuments, boost::optional< IfcLabel > v5_RelationshipType) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDocument)); e->setArgument(3,(v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) { e->setArgument(4,(*v5_RelationshipType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< IfcLabel > v5_RelationshipType) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDocument)); e->setArgument(3,(v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) { e->setArgument(4,(*v5_RelationshipType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentReference -bool IfcDocumentReference::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcDocumentReference::Description() { return *entity->getArgument(3); } +bool IfcDocumentReference::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcDocumentReference::Description() const { return *entity->getArgument(3); } void IfcDocumentReference::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcDocumentReference::hasReferencedDocument() { return !entity->getArgument(4)->isNull(); } -IfcDocumentInformation* IfcDocumentReference::ReferencedDocument() { return (IfcDocumentInformation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcRelAssociatesDocument::list IfcDocumentReference::DocumentRefForObjects() { RETURN_INVERSE(IfcRelAssociatesDocument) } +IfcRelAssociatesDocument::list::ptr IfcDocumentReference::DocumentRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesDocument)->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(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentReference::IfcDocumentReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDocumentReference::IfcDocumentReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ReferencedDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoor -bool IfcDoor::hasOverallHeight() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallHeight() { return *entity->getArgument(8); } +bool IfcDoor::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcDoor::OverallHeight() const { return *entity->getArgument(8); } void IfcDoor::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoor::hasOverallWidth() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallWidth() { return *entity->getArgument(9); } +bool IfcDoor::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcDoor::OverallWidth() const { return *entity->getArgument(9); } void IfcDoor::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDoor::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcDoorTypeEnum::IfcDoorTypeEnum IfcDoor::PredefinedType() { return IfcDoorTypeEnum::FromString(*entity->getArgument(10)); } +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() { return !entity->getArgument(11)->isNull(); } -IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum IfcDoor::OperationType() { return IfcDoorTypeOperationEnum::FromString(*entity->getArgument(11)); } +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() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcDoor::UserDefinedOperationType() { return *entity->getArgument(12); } +bool IfcDoor::hasUserDefinedOperationType() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcDoor::UserDefinedOperationType() const { return *entity->getArgument(12); } void IfcDoor::setUserDefinedOperationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoor::IfcDoor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoor::IfcDoor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorLiningProperties -bool IfcDoorLiningProperties::hasLiningDepth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningDepth() { return *entity->getArgument(4); } +bool IfcDoorLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } void IfcDoorLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcDoorLiningProperties::hasLiningThickness() { return !entity->getArgument(5)->isNull(); } -IfcNonNegativeLengthMeasure IfcDoorLiningProperties::LiningThickness() { return *entity->getArgument(5); } +bool IfcDoorLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } +IfcNonNegativeLengthMeasure IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } void IfcDoorLiningProperties::setLiningThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcDoorLiningProperties::hasThresholdDepth() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdDepth() { return *entity->getArgument(6); } +bool IfcDoorLiningProperties::hasThresholdDepth() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } void IfcDoorLiningProperties::setThresholdDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcDoorLiningProperties::hasThresholdThickness() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcDoorLiningProperties::ThresholdThickness() { return *entity->getArgument(7); } +bool IfcDoorLiningProperties::hasThresholdThickness() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } void IfcDoorLiningProperties::setThresholdThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcDoorLiningProperties::hasTransomThickness() { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcDoorLiningProperties::TransomThickness() { return *entity->getArgument(8); } +bool IfcDoorLiningProperties::hasTransomThickness() const { return !entity->getArgument(8)->isNull(); } +IfcNonNegativeLengthMeasure IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } void IfcDoorLiningProperties::setTransomThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcDoorLiningProperties::hasTransomOffset() { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::TransomOffset() { return *entity->getArgument(9); } +bool IfcDoorLiningProperties::hasTransomOffset() const { return !entity->getArgument(9)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } void IfcDoorLiningProperties::setTransomOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcDoorLiningProperties::hasLiningOffset() { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningOffset() { return *entity->getArgument(10); } +bool IfcDoorLiningProperties::hasLiningOffset() const { return !entity->getArgument(10)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } void IfcDoorLiningProperties::setLiningOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcDoorLiningProperties::hasThresholdOffset() { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::ThresholdOffset() { return *entity->getArgument(11); } +bool IfcDoorLiningProperties::hasThresholdOffset() const { return !entity->getArgument(11)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } void IfcDoorLiningProperties::setThresholdOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcDoorLiningProperties::hasCasingThickness() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingThickness() { return *entity->getArgument(12); } +bool IfcDoorLiningProperties::hasCasingThickness() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } void IfcDoorLiningProperties::setCasingThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcDoorLiningProperties::hasCasingDepth() { return !entity->getArgument(13)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingDepth() { return *entity->getArgument(13); } +bool IfcDoorLiningProperties::hasCasingDepth() const { return !entity->getArgument(13)->isNull(); } +IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } void IfcDoorLiningProperties::setCasingDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcDoorLiningProperties::hasShapeAspectStyle() { return !entity->getArgument(14)->isNull(); } -IfcShapeAspect* IfcDoorLiningProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(14))); } +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() { return !entity->getArgument(15)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningToPanelOffsetX() { return *entity->getArgument(15); } +bool IfcDoorLiningProperties::hasLiningToPanelOffsetX() const { return !entity->getArgument(15)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(15); } void IfcDoorLiningProperties::setLiningToPanelOffsetX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcDoorLiningProperties::hasLiningToPanelOffsetY() { return !entity->getArgument(16)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningToPanelOffsetY() { return *entity->getArgument(16); } +bool IfcDoorLiningProperties::hasLiningToPanelOffsetY() const { return !entity->getArgument(16)->isNull(); } +IfcLengthMeasure IfcDoorLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(16); } void IfcDoorLiningProperties::setLiningToPanelOffsetY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } 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(IfcAbstractEntityPtr e) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorLiningProperties::IfcDoorLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcNonNegativeLengthMeasure > v8_ThresholdThickness, boost::optional< IfcNonNegativeLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorLiningProperties::IfcDoorLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcNonNegativeLengthMeasure > v8_ThresholdThickness, boost::optional< IfcNonNegativeLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) { e->setArgument(15,(*v16_LiningToPanelOffsetX)); } else { e->setArgument(15); } if (v17_LiningToPanelOffsetY) { e->setArgument(16,(*v17_LiningToPanelOffsetY)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorPanelProperties -bool IfcDoorPanelProperties::hasPanelDepth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorPanelProperties::PanelDepth() { return *entity->getArgument(4); } +bool IfcDoorPanelProperties::hasPanelDepth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } void IfcDoorPanelProperties::setPanelDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelProperties::PanelOperation() { return IfcDoorPanelOperationEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcNormalisedRatioMeasure IfcDoorPanelProperties::PanelWidth() { return *entity->getArgument(6); } +bool IfcDoorPanelProperties::hasPanelWidth() const { return !entity->getArgument(6)->isNull(); } +IfcNormalisedRatioMeasure IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } void IfcDoorPanelProperties::setPanelWidth(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelProperties::PanelPosition() { return IfcDoorPanelPositionEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcDoorPanelProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorPanelProperties::IfcDoorPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorPanelProperties::IfcDoorPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDoor((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStandardCase::IfcDoorStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcDoor((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcDoor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorStandardCase::IfcDoorStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcDoor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStyle -IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyle::OperationType() { return IfcDoorStyleOperationEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum IfcDoorStyle::ConstructionType() { return IfcDoorStyleConstructionEnum::FromString(*entity->getArgument(9)); } +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)); } -bool IfcDoorStyle::ParameterTakesPrecedence() { return *entity->getArgument(10); } +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); } -bool IfcDoorStyle::Sizeable() { return *entity->getArgument(11); } +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); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStyle::IfcDoorStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorStyle::IfcDoorStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorType -IfcDoorTypeEnum::IfcDoorTypeEnum IfcDoorType::PredefinedType() { return IfcDoorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } -IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum IfcDoorType::OperationType() { return IfcDoorTypeOperationEnum::FromString(*entity->getArgument(10)); } +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() { return !entity->getArgument(11)->isNull(); } -bool IfcDoorType::ParameterTakesPrecedence() { return *entity->getArgument(11); } +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() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcDoorType::UserDefinedOperationType() { return *entity->getArgument(12); } +bool IfcDoorType::hasUserDefinedOperationType() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcDoorType::UserDefinedOperationType() const { return *entity->getArgument(12); } void IfcDoorType::setUserDefinedOperationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDoorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorType::IfcDoorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDoorType::IfcDoorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDoorTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_OperationType,IfcDoorTypeOperationEnum::ToString(v11_OperationType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedColour bool IfcDraughtingPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedColour || IfcPreDefinedColour::is(v); } Type::Enum IfcDraughtingPreDefinedColour::type() const { return Type::IfcDraughtingPreDefinedColour; } Type::Enum IfcDraughtingPreDefinedColour::Class() { return Type::IfcDraughtingPreDefinedColour; } -IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcAbstractEntityPtr e) : IfcPreDefinedColour((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedColour((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedColour((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedColour((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedCurveFont bool IfcDraughtingPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedCurveFont || IfcPreDefinedCurveFont::is(v); } Type::Enum IfcDraughtingPreDefinedCurveFont::type() const { return Type::IfcDraughtingPreDefinedCurveFont; } Type::Enum IfcDraughtingPreDefinedCurveFont::Class() { return Type::IfcDraughtingPreDefinedCurveFont; } -IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEntityPtr e) : IfcPreDefinedCurveFont((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFitting -bool IfcDuctFitting::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFitting::PredefinedType() { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFitting((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFitting::IfcDuctFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctFitting::IfcDuctFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFittingType -IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingType::PredefinedType() { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFittingType::IfcDuctFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctFittingType::IfcDuctFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegment -bool IfcDuctSegment::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegment::PredefinedType() { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegment::IfcDuctSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctSegment::IfcDuctSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegmentType -IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentType::PredefinedType() { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegmentType::IfcDuctSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctSegmentType::IfcDuctSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencer -bool IfcDuctSilencer::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencer::PredefinedType() { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencer::IfcDuctSilencer(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctSilencer::IfcDuctSilencer(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSilencerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencerType -IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerType::PredefinedType() { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencerType::IfcDuctSilencerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcDuctSilencerType::IfcDuctSilencerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdge -IfcVertex* IfcEdge::EdgeStart() { return (IfcVertex*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcVertex* IfcEdge::EdgeEnd() { return (IfcVertex*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcEdge::IfcEdge(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdge::IfcEdge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); entity = e; EntityBuffer::Add(this); } +IfcEdge::IfcEdge(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEdge::IfcEdge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdgeCurve -IfcCurve* IfcEdgeCurve::EdgeGeometry() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -bool IfcEdgeCurve::SameSense() { return *entity->getArgument(3); } +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); } 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; } -IfcEdgeCurve::IfcEdgeCurve(IfcAbstractEntityPtr e) : IfcEdge((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdgeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeCurve::IfcEdgeCurve(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge((IfcAbstractEntityPtr)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); } +IfcEdgeCurve::IfcEdgeCurve(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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 IfcEdgeLoop -SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > IfcEdgeLoop::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } -void IfcEdgeLoop::setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcEdgeLoop::IfcEdgeLoop(IfcAbstractEntityPtr e) : IfcLoop((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEdgeLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeLoop::IfcEdgeLoop(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList) : IfcLoop((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcEdgeLoop::IfcEdgeLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricAppliance::PredefinedType() { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricAppliance::IfcElectricAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricAppliance::IfcElectricAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricApplianceType -IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricApplianceType::PredefinedType() { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricApplianceType::IfcElectricApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricApplianceType::IfcElectricApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionBoard -bool IfcElectricDistributionBoard::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum IfcElectricDistributionBoard::PredefinedType() { return IfcElectricDistributionBoardTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionBoardType -IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum IfcElectricDistributionBoardType::PredefinedType() { return IfcElectricDistributionBoardTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoardType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoardType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDevice -bool IfcElectricFlowStorageDevice::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDevice::PredefinedType() { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowStorageDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDeviceType -IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceType::PredefinedType() { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGenerator -bool IfcElectricGenerator::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGenerator::PredefinedType() { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGenerator::IfcElectricGenerator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricGenerator::IfcElectricGenerator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGeneratorType -IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorType::PredefinedType() { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGeneratorType::IfcElectricGeneratorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricGeneratorType::IfcElectricGeneratorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotor -bool IfcElectricMotor::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotor::PredefinedType() { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricMotor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotor::IfcElectricMotor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricMotor::IfcElectricMotor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricMotorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotorType -IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorType::PredefinedType() { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotorType::IfcElectricMotorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricMotorType::IfcElectricMotorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControl -bool IfcElectricTimeControl::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControl::PredefinedType() { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControl::IfcElectricTimeControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricTimeControl::IfcElectricTimeControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControlType -IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlType::PredefinedType() { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControlType::IfcElectricTimeControlType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElectricTimeControlType::IfcElectricTimeControlType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElement -bool IfcElement::hasTag() { return !entity->getArgument(7)->isNull(); } -IfcIdentifier IfcElement::Tag() { return *entity->getArgument(7); } +bool IfcElement::hasTag() const { return !entity->getArgument(7)->isNull(); } +IfcIdentifier IfcElement::Tag() const { return *entity->getArgument(7); } void IfcElement::setTag(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcRelFillsElement::list IfcElement::FillsVoids() { RETURN_INVERSE(IfcRelFillsElement) } -IfcRelConnectsElements::list IfcElement::ConnectedTo() { RETURN_INVERSE(IfcRelConnectsElements) } -IfcRelInterferesElements::list IfcElement::IsInterferedByElements() { RETURN_INVERSE(IfcRelInterferesElements) } -IfcRelInterferesElements::list IfcElement::InterferesElements() { RETURN_INVERSE(IfcRelInterferesElements) } -IfcRelProjectsElement::list IfcElement::HasProjections() { RETURN_INVERSE(IfcRelProjectsElement) } -IfcRelReferencedInSpatialStructure::list IfcElement::ReferencedInStructures() { RETURN_INVERSE(IfcRelReferencedInSpatialStructure) } -IfcRelVoidsElement::list IfcElement::HasOpenings() { RETURN_INVERSE(IfcRelVoidsElement) } -IfcRelConnectsWithRealizingElements::list IfcElement::IsConnectionRealization() { RETURN_INVERSE(IfcRelConnectsWithRealizingElements) } -IfcRelSpaceBoundary::list IfcElement::ProvidesBoundaries() { RETURN_INVERSE(IfcRelSpaceBoundary) } -IfcRelConnectsElements::list IfcElement::ConnectedFrom() { RETURN_INVERSE(IfcRelConnectsElements) } -IfcRelContainedInSpatialStructure::list IfcElement::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return entity->getInverse(Type::IfcRelFillsElement)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsElements)->as(); } +IfcRelInterferesElements::list::ptr IfcElement::IsInterferedByElements() const { return entity->getInverse(Type::IfcRelInterferesElements)->as(); } +IfcRelInterferesElements::list::ptr IfcElement::InterferesElements() const { return entity->getInverse(Type::IfcRelInterferesElements)->as(); } +IfcRelProjectsElement::list::ptr IfcElement::HasProjections() const { return entity->getInverse(Type::IfcRelProjectsElement)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcElement::ReferencedInStructures() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure)->as(); } +IfcRelVoidsElement::list::ptr IfcElement::HasOpenings() const { return entity->getInverse(Type::IfcRelVoidsElement)->as(); } +IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealization() const { return entity->getInverse(Type::IfcRelConnectsWithRealizingElements)->as(); } +IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->as(); } +IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return entity->getInverse(Type::IfcRelConnectsElements)->as(); } +IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcProduct::is(v); } Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } -IfcElement::IfcElement(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElement::IfcElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElement::IfcElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssembly -bool IfcElementAssembly::hasAssemblyPlace() { return !entity->getArgument(8)->isNull(); } -IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcElementAssembly::AssemblyPlace() { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssembly::PredefinedType() { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssembly::IfcElementAssembly(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementAssembly::IfcElementAssembly(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssemblyType -IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssemblyType::PredefinedType() { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementAssemblyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssemblyType::IfcElementAssemblyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssemblyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementAssemblyType::IfcElementAssemblyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponent::IfcElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementComponent::IfcElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponentType::IfcElementComponentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementComponentType::IfcElementComponentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementQuantity -bool IfcElementQuantity::hasMethodOfMeasurement() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcElementQuantity::MethodOfMeasurement() { return *entity->getArgument(4); } +bool IfcElementQuantity::hasMethodOfMeasurement() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } void IfcElementQuantity::setMethodOfMeasurement(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcElementQuantity::Quantities() { RETURN_AS_LIST(IfcPhysicalQuantity,5) } -void IfcElementQuantity::setQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } +void IfcElementQuantity::setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } bool IfcElementQuantity::is(Type::Enum v) const { return v == Type::IfcElementQuantity || IfcQuantitySet::is(v); } Type::Enum IfcElementQuantity::type() const { return Type::IfcElementQuantity; } Type::Enum IfcElementQuantity::Class() { return Type::IfcElementQuantity; } -IfcElementQuantity::IfcElementQuantity(IfcAbstractEntityPtr e) : IfcQuantitySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementQuantity::IfcElementQuantity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v6_Quantities) : IfcQuantitySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcQuantitySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementQuantity::IfcElementQuantity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementType -bool IfcElementType::hasElementType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcElementType::ElementType() { return *entity->getArgument(8); } +bool IfcElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcElementType::ElementType() const { return *entity->getArgument(8); } void IfcElementType::setElementType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementType::IfcElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementType::IfcElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementarySurface -IfcAxis2Placement3D* IfcElementarySurface::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcElementarySurface::IfcElementarySurface(IfcAbstractEntityPtr e) : IfcSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcElementarySurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcElementarySurface::IfcElementarySurface(IfcAbstractEntity* e) : IfcSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementarySurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipse -IfcPositiveLengthMeasure IfcEllipse::SemiAxis1() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } void IfcEllipse::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcEllipse::SemiAxis2() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } void IfcEllipse::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcEllipse::is(Type::Enum v) const { return v == Type::IfcEllipse || IfcConic::is(v); } Type::Enum IfcEllipse::type() const { return Type::IfcEllipse; } Type::Enum IfcEllipse::Class() { return Type::IfcEllipse; } -IfcEllipse::IfcEllipse(IfcAbstractEntityPtr e) : IfcConic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEllipse)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipse::IfcEllipse(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2) : IfcConic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipse::IfcEllipse(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipse)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEllipse::IfcEllipse(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipseProfileDef -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis1() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } void IfcEllipseProfileDef::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis2() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } void IfcEllipseProfileDef::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEngine -bool IfcEngine::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcEngineTypeEnum::IfcEngineTypeEnum IfcEngine::PredefinedType() { return IfcEngineTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEngine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEngine::IfcEngine(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEngine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEngine::IfcEngine(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEngineTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEngineType -IfcEngineTypeEnum::IfcEngineTypeEnum IfcEngineType::PredefinedType() { return IfcEngineTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEngineType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEngineType::IfcEngineType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEngineType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEngineType::IfcEngineType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEngineTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCooler -bool IfcEvaporativeCooler::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCooler::PredefinedType() { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCooler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCooler::IfcEvaporativeCooler(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCooler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvaporativeCooler::IfcEvaporativeCooler(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCoolerType -IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerType::PredefinedType() { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporator -bool IfcEvaporator::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporator::PredefinedType() { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvaporator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporator::IfcEvaporator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvaporator::IfcEvaporator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporatorType -IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorType::PredefinedType() { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporatorType::IfcEvaporatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvaporatorType::IfcEvaporatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvent -bool IfcEvent::hasPredefinedType() { return !entity->getArgument(7)->isNull(); } -IfcEventTypeEnum::IfcEventTypeEnum IfcEvent::PredefinedType() { return IfcEventTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum IfcEvent::EventTriggerType() { return IfcEventTriggerTypeEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcEvent::UserDefinedEventTriggerType() { return *entity->getArgument(9); } +bool IfcEvent::hasUserDefinedEventTriggerType() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcEvent::UserDefinedEventTriggerType() const { return *entity->getArgument(9); } void IfcEvent::setUserDefinedEventTriggerType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcEvent::hasEventOccurenceTime() { return !entity->getArgument(10)->isNull(); } -IfcEventTime* IfcEvent::EventOccurenceTime() { return (IfcEventTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEvent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvent::IfcEvent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< IfcLabel > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime) : IfcProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEvent::IfcEvent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< IfcLabel > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcEventTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } if (v9_EventTriggerType) { e->setArgument(8,*v9_EventTriggerType,IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType)); } else { e->setArgument(8); } if (v10_UserDefinedEventTriggerType) { e->setArgument(9,(*v10_UserDefinedEventTriggerType)); } else { e->setArgument(9); } e->setArgument(10,(v11_EventOccurenceTime)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEventTime -bool IfcEventTime::hasActualDate() { return !entity->getArgument(3)->isNull(); } -IfcDateTime IfcEventTime::ActualDate() { return *entity->getArgument(3); } +bool IfcEventTime::hasActualDate() const { return !entity->getArgument(3)->isNull(); } +IfcDateTime IfcEventTime::ActualDate() const { return *entity->getArgument(3); } void IfcEventTime::setActualDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcEventTime::hasEarlyDate() { return !entity->getArgument(4)->isNull(); } -IfcDateTime IfcEventTime::EarlyDate() { return *entity->getArgument(4); } +bool IfcEventTime::hasEarlyDate() const { return !entity->getArgument(4)->isNull(); } +IfcDateTime IfcEventTime::EarlyDate() const { return *entity->getArgument(4); } void IfcEventTime::setEarlyDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcEventTime::hasLateDate() { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcEventTime::LateDate() { return *entity->getArgument(5); } +bool IfcEventTime::hasLateDate() const { return !entity->getArgument(5)->isNull(); } +IfcDateTime IfcEventTime::LateDate() const { return *entity->getArgument(5); } void IfcEventTime::setLateDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcEventTime::hasScheduleDate() { return !entity->getArgument(6)->isNull(); } -IfcDateTime IfcEventTime::ScheduleDate() { return *entity->getArgument(6); } +bool IfcEventTime::hasScheduleDate() const { return !entity->getArgument(6)->isNull(); } +IfcDateTime IfcEventTime::ScheduleDate() const { return *entity->getArgument(6); } void IfcEventTime::setScheduleDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcEventTime::is(Type::Enum v) const { return v == Type::IfcEventTime || IfcSchedulingTime::is(v); } Type::Enum IfcEventTime::type() const { return Type::IfcEventTime; } Type::Enum IfcEventTime::Class() { return Type::IfcEventTime; } -IfcEventTime::IfcEventTime(IfcAbstractEntityPtr e) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEventTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEventTime::IfcEventTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDateTime > v4_ActualDate, boost::optional< IfcDateTime > v5_EarlyDate, boost::optional< IfcDateTime > v6_LateDate, boost::optional< IfcDateTime > v7_ScheduleDate) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ActualDate) { e->setArgument(3,(*v4_ActualDate)); } else { e->setArgument(3); } if (v5_EarlyDate) { e->setArgument(4,(*v5_EarlyDate)); } else { e->setArgument(4); } if (v6_LateDate) { e->setArgument(5,(*v6_LateDate)); } else { e->setArgument(5); } if (v7_ScheduleDate) { e->setArgument(6,(*v7_ScheduleDate)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcEventTime::IfcEventTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEventTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEventTime::IfcEventTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDateTime > v4_ActualDate, boost::optional< IfcDateTime > v5_EarlyDate, boost::optional< IfcDateTime > v6_LateDate, boost::optional< IfcDateTime > v7_ScheduleDate) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ActualDate) { e->setArgument(3,(*v4_ActualDate)); } else { e->setArgument(3); } if (v5_EarlyDate) { e->setArgument(4,(*v5_EarlyDate)); } else { e->setArgument(4); } if (v6_LateDate) { e->setArgument(5,(*v6_LateDate)); } else { e->setArgument(5); } if (v7_ScheduleDate) { e->setArgument(6,(*v7_ScheduleDate)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEventType -IfcEventTypeEnum::IfcEventTypeEnum IfcEventType::PredefinedType() { return IfcEventTypeEnum::FromString(*entity->getArgument(9)); } +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)); } -IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum IfcEventType::EventTriggerType() { return IfcEventTriggerTypeEnum::FromString(*entity->getArgument(10)); } +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() { return !entity->getArgument(11)->isNull(); } -IfcLabel IfcEventType::UserDefinedEventTriggerType() { return *entity->getArgument(11); } +bool IfcEventType::hasUserDefinedEventTriggerType() const { return !entity->getArgument(11)->isNull(); } +IfcLabel IfcEventType::UserDefinedEventTriggerType() const { return *entity->getArgument(11); } void IfcEventType::setUserDefinedEventTriggerType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } 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(IfcAbstractEntityPtr e) : IfcTypeProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcEventType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEventType::IfcEventType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< IfcLabel > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEventType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcEventType::IfcEventType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< IfcLabel > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEventTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_EventTriggerType,IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType)); if (v12_UserDefinedEventTriggerType) { e->setArgument(11,(*v12_UserDefinedEventTriggerType)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtendedProperties -bool IfcExtendedProperties::hasName() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcExtendedProperties::Name() { return *entity->getArgument(0); } +bool IfcExtendedProperties::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcExtendedProperties::Name() const { return *entity->getArgument(0); } void IfcExtendedProperties::setName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcExtendedProperties::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcExtendedProperties::Description() { return *entity->getArgument(1); } +bool IfcExtendedProperties::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcExtendedProperties::Description() const { return *entity->getArgument(1); } void IfcExtendedProperties::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcExtendedProperties::Properties() { RETURN_AS_LIST(IfcProperty,2) } -void IfcExtendedProperties::setProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcTemplatedEntityList< IfcProperty >::ptr IfcExtendedProperties::Properties() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcExtendedProperties::setProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcExtendedProperties::is(Type::Enum v) const { return v == Type::IfcExtendedProperties || IfcPropertyAbstraction::is(v); } Type::Enum IfcExtendedProperties::type() const { return Type::IfcExtendedProperties; } Type::Enum IfcExtendedProperties::Class() { return Type::IfcExtendedProperties; } -IfcExtendedProperties::IfcExtendedProperties(IfcAbstractEntityPtr e) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExtendedProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtendedProperties::IfcExtendedProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v3_Properties) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcExtendedProperties::IfcExtendedProperties(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtendedProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExtendedProperties::IfcExtendedProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalInformation bool IfcExternalInformation::is(Type::Enum v) const { return v == Type::IfcExternalInformation; } Type::Enum IfcExternalInformation::type() const { return Type::IfcExternalInformation; } Type::Enum IfcExternalInformation::Class() { return Type::IfcExternalInformation; } -IfcExternalInformation::IfcExternalInformation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternalInformation::IfcExternalInformation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReference -bool IfcExternalReference::hasLocation() { return !entity->getArgument(0)->isNull(); } -IfcURIReference IfcExternalReference::Location() { return *entity->getArgument(0); } +bool IfcExternalReference::hasLocation() const { return !entity->getArgument(0)->isNull(); } +IfcURIReference IfcExternalReference::Location() const { return *entity->getArgument(0); } void IfcExternalReference::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcExternalReference::hasIdentification() { return !entity->getArgument(1)->isNull(); } -IfcIdentifier IfcExternalReference::Identification() { return *entity->getArgument(1); } +bool IfcExternalReference::hasIdentification() const { return !entity->getArgument(1)->isNull(); } +IfcIdentifier IfcExternalReference::Identification() const { return *entity->getArgument(1); } void IfcExternalReference::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcExternalReference::hasName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcExternalReference::Name() { return *entity->getArgument(2); } +bool IfcExternalReference::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcExternalReference::Name() const { return *entity->getArgument(2); } void IfcExternalReference::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcExternalReferenceRelationship::list IfcExternalReference::ExternalReferenceForResources() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcExternalReference::ExternalReferenceForResources() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcExternalReference::is(Type::Enum v) const { return v == Type::IfcExternalReference; } Type::Enum IfcExternalReference::type() const { return Type::IfcExternalReference; } Type::Enum IfcExternalReference::Class() { return Type::IfcExternalReference; } -IfcExternalReference::IfcExternalReference(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternalReference::IfcExternalReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcExternalReference::IfcExternalReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReferenceRelationship -IfcExternalReference* IfcExternalReferenceRelationship::RelatingReference() { return (IfcExternalReference*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcExternalReferenceRelationship::RelatedResourceObjects() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,3) } -void IfcExternalReferenceRelationship::setRelatedResourceObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcExternalReferenceRelationship::RelatedResourceObjects() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcExternalReferenceRelationship::setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcExternalReferenceRelationship::is(Type::Enum v) const { return v == Type::IfcExternalReferenceRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcExternalReferenceRelationship::type() const { return Type::IfcExternalReferenceRelationship; } Type::Enum IfcExternalReferenceRelationship::Class() { return Type::IfcExternalReferenceRelationship; } -IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternalReferenceRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntities v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingReference)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } +IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalReferenceRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingReference)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalSpatialElement -bool IfcExternalSpatialElement::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum IfcExternalSpatialElement::PredefinedType() { return IfcExternalSpatialElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcRelSpaceBoundary::list IfcExternalSpatialElement::BoundedBy() { RETURN_INVERSE(IfcRelSpaceBoundary) } +IfcRelSpaceBoundary::list::ptr IfcExternalSpatialElement::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->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(IfcAbstractEntityPtr e) : IfcExternalSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalSpatialElement::IfcExternalSpatialElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType) : IfcExternalSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternalSpatialElement::IfcExternalSpatialElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcExternalSpatialElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcSpatialElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName) : IfcSpatialElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedHatchStyle bool IfcExternallyDefinedHatchStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedHatchStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedHatchStyle::type() const { return Type::IfcExternallyDefinedHatchStyle; } Type::Enum IfcExternallyDefinedHatchStyle::Class() { return Type::IfcExternallyDefinedHatchStyle; } -IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedHatchStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedHatchStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedSurfaceStyle bool IfcExternallyDefinedSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedSurfaceStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedSurfaceStyle::type() const { return Type::IfcExternallyDefinedSurfaceStyle; } Type::Enum IfcExternallyDefinedSurfaceStyle::Class() { return Type::IfcExternallyDefinedSurfaceStyle; } -IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedTextFont bool IfcExternallyDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedTextFont || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedTextFont::type() const { return Type::IfcExternallyDefinedTextFont; } Type::Enum IfcExternallyDefinedTextFont::Class() { return Type::IfcExternallyDefinedTextFont; } -IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolid -IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcExtrudedAreaSolid::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcExtrudedAreaSolid::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } void IfcExtrudedAreaSolid::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolidTapered -IfcProfileDef* IfcExtrudedAreaSolidTapered::EndSweptArea() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcExtrudedAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth, IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth, IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFace -SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > IfcFace::Bounds() { RETURN_AS_LIST(IfcFaceBound,0) } -void IfcFace::setBounds(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcTextureMap::list IfcFace::HasTextureMaps() { RETURN_INVERSE(IfcTextureMap) } +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()); } +IfcTextureMap::list::ptr IfcFace::HasTextureMaps() const { return entity->getInverse(Type::IfcTextureMap)->as(); } bool IfcFace::is(Type::Enum v) const { return v == Type::IfcFace || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcFace::type() const { return Type::IfcFace; } Type::Enum IfcFace::Class() { return Type::IfcFace; } -IfcFace::IfcFace(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFace::IfcFace(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bounds)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcFace::IfcFace(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFace::IfcFace(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bounds)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceBasedSurfaceModel -SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > IfcFaceBasedSurfaceModel::FbsmFaces() { RETURN_AS_LIST(IfcConnectedFaceSet,0) } -void IfcFaceBasedSurfaceModel::setFbsmFaces(SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_FbsmFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_FbsmFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceBound -IfcLoop* IfcFaceBound::Bound() { return (IfcLoop*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -bool IfcFaceBound::Orientation() { return *entity->getArgument(1); } +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); } 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; } -IfcFaceBound::IfcFaceBound(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceBound::IfcFaceBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcFaceBound::IfcFaceBound(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceBound::IfcFaceBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceOuterBound bool IfcFaceOuterBound::is(Type::Enum v) const { return v == Type::IfcFaceOuterBound || IfcFaceBound::is(v); } Type::Enum IfcFaceOuterBound::type() const { return Type::IfcFaceOuterBound; } Type::Enum IfcFaceOuterBound::Class() { return Type::IfcFaceOuterBound; } -IfcFaceOuterBound::IfcFaceOuterBound(IfcAbstractEntityPtr e) : IfcFaceBound((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceOuterBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceOuterBound::IfcFaceOuterBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcFaceOuterBound::IfcFaceOuterBound(IfcAbstractEntity* e) : IfcFaceBound((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceOuterBound)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceOuterBound::IfcFaceOuterBound(IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Bound)); e->setArgument(1,(v2_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFaceSurface -IfcSurface* IfcFaceSurface::FaceSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -bool IfcFaceSurface::SameSense() { return *entity->getArgument(2); } +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); } 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; } -IfcFaceSurface::IfcFaceSurface(IfcAbstractEntityPtr e) : IfcFace((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFaceSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFaceSurface::IfcFaceSurface(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((IfcAbstractEntityPtr)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); } +IfcFaceSurface::IfcFaceSurface(IfcAbstractEntity* e) : IfcFace((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFaceSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFaceSurface::IfcFaceSurface(IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace((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 IfcFacetedBrep bool IfcFacetedBrep::is(Type::Enum v) const { return v == Type::IfcFacetedBrep || IfcManifoldSolidBrep::is(v); } Type::Enum IfcFacetedBrep::type() const { return Type::IfcFacetedBrep; } Type::Enum IfcFacetedBrep::Class() { return Type::IfcFacetedBrep; } -IfcFacetedBrep::IfcFacetedBrep(IfcAbstractEntityPtr e) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFacetedBrep::IfcFacetedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } +IfcFacetedBrep::IfcFacetedBrep(IfcAbstractEntity* e) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFacetedBrep::IfcFacetedBrep(IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFacetedBrepWithVoids -SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > IfcFacetedBrepWithVoids::Voids() { RETURN_AS_LIST(IfcClosedShell,1) } -void IfcFacetedBrepWithVoids::setVoids(SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcAbstractEntityPtr e) : IfcFacetedBrep((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrepWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcClosedShell* v1_Outer, SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v2_Voids) : IfcFacetedBrep((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); e->setArgument(1,(v2_Voids)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcAbstractEntity* e) : IfcFacetedBrep((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFacetedBrepWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureX() { return *entity->getArgument(1); } +bool IfcFailureConnectionCondition::hasTensionFailureX() const { return !entity->getArgument(1)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } void IfcFailureConnectionCondition::setTensionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFailureConnectionCondition::hasTensionFailureY() { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureY() { return *entity->getArgument(2); } +bool IfcFailureConnectionCondition::hasTensionFailureY() const { return !entity->getArgument(2)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } void IfcFailureConnectionCondition::setTensionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcFailureConnectionCondition::hasTensionFailureZ() { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureZ() { return *entity->getArgument(3); } +bool IfcFailureConnectionCondition::hasTensionFailureZ() const { return !entity->getArgument(3)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } void IfcFailureConnectionCondition::setTensionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureX() { return !entity->getArgument(4)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureX() { return *entity->getArgument(4); } +bool IfcFailureConnectionCondition::hasCompressionFailureX() const { return !entity->getArgument(4)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } void IfcFailureConnectionCondition::setCompressionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureY() { return !entity->getArgument(5)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureY() { return *entity->getArgument(5); } +bool IfcFailureConnectionCondition::hasCompressionFailureY() const { return !entity->getArgument(5)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } void IfcFailureConnectionCondition::setCompressionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcFailureConnectionCondition::hasCompressionFailureZ() { return !entity->getArgument(6)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureZ() { return *entity->getArgument(6); } +bool IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !entity->getArgument(6)->isNull(); } +IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } void IfcFailureConnectionCondition::setCompressionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcFailureConnectionCondition::is(Type::Enum v) const { return v == Type::IfcFailureConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcFailureConnectionCondition::type() const { return Type::IfcFailureConnectionCondition; } Type::Enum IfcFailureConnectionCondition::Class() { return Type::IfcFailureConnectionCondition; } -IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntityPtr e) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFailureConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFailureConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFan -bool IfcFan::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFanTypeEnum::IfcFanTypeEnum IfcFan::PredefinedType() { return IfcFanTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFan::IfcFan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFan::IfcFan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFanTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFanType -IfcFanTypeEnum::IfcFanTypeEnum IfcFanType::PredefinedType() { return IfcFanTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFanType::IfcFanType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFanType::IfcFanType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastener -bool IfcFastener::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFastenerTypeEnum::IfcFastenerTypeEnum IfcFastener::PredefinedType() { return IfcFastenerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastener::IfcFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFastener::IfcFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFastenerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastenerType -IfcFastenerTypeEnum::IfcFastenerTypeEnum IfcFastenerType::PredefinedType() { return IfcFastenerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastenerType::IfcFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFastenerType::IfcFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFastenerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElement::IfcFeatureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFeatureElement::IfcFeatureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementAddition -IfcRelProjectsElement::list IfcFeatureElementAddition::ProjectsElements() { RETURN_INVERSE(IfcRelProjectsElement) } +IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return entity->getInverse(Type::IfcRelProjectsElement)->as(); } bool IfcFeatureElementAddition::is(Type::Enum v) const { return v == Type::IfcFeatureElementAddition || IfcFeatureElement::is(v); } Type::Enum IfcFeatureElementAddition::type() const { return Type::IfcFeatureElementAddition; } Type::Enum IfcFeatureElementAddition::Class() { return Type::IfcFeatureElementAddition; } -IfcFeatureElementAddition::IfcFeatureElementAddition(IfcAbstractEntityPtr e) : IfcFeatureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementAddition::IfcFeatureElementAddition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFeatureElementAddition::IfcFeatureElementAddition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementSubtraction -IfcRelVoidsElement::list IfcFeatureElementSubtraction::VoidsElements() { RETURN_INVERSE(IfcRelVoidsElement) } +IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return entity->getInverse(Type::IfcRelVoidsElement)->as(); } bool IfcFeatureElementSubtraction::is(Type::Enum v) const { return v == Type::IfcFeatureElementSubtraction || IfcFeatureElement::is(v); } Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureElementSubtraction; } Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntityPtr e) : IfcFeatureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyle -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcFillAreaStyle::FillStyles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcFillAreaStyle::setFillStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcFillAreaStyle::hasModelorDraughting() { return !entity->getArgument(2)->isNull(); } -bool IfcFillAreaStyle::ModelorDraughting() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcFillAreaStyle::FillStyles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcFillAreaStyle::setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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); } bool IfcFillAreaStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaStyle || IfcPresentationStyle::is(v); } Type::Enum IfcFillAreaStyle::type() const { return Type::IfcFillAreaStyle; } Type::Enum IfcFillAreaStyle::Class() { return Type::IfcFillAreaStyle; } -IfcFillAreaStyle::IfcFillAreaStyle(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< IfcLabel > v1_Name, IfcEntities v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); if (v3_ModelorDraughting) { e->setArgument(2,(*v3_ModelorDraughting)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyle::IfcFillAreaStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); if (v3_ModelorDraughting) { e->setArgument(2,(*v3_ModelorDraughting)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleHatching -IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() { return (IfcCurveStyle*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() const { return (IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcFillAreaStyleHatching::setHatchLineAppearance(IfcCurveStyle* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcHatchLineDistanceSelect IfcFillAreaStyleHatching::StartOfNextHatchLine() { return *entity->getArgument(1); } +IfcHatchLineDistanceSelect IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return *entity->getArgument(1); } void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() { return !entity->getArgument(2)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PointOfReferenceHatchLine() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +bool IfcFillAreaStyleHatching::hasPatternStart() const { return !entity->getArgument(3)->isNull(); } +IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcFillAreaStyleHatching::setPatternStart(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPlaneAngleMeasure IfcFillAreaStyleHatching::HatchLineAngle() { return *entity->getArgument(4); } +IfcPlaneAngleMeasure IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } void IfcFillAreaStyleHatching::setHatchLineAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTiles -SHARED_PTR< IfcTemplatedEntityList< IfcVector > > IfcFillAreaStyleTiles::TilingPattern() { RETURN_AS_LIST(IfcVector,0) } -void IfcFillAreaStyleTiles::setTilingPattern(SHARED_PTR< IfcTemplatedEntityList< IfcVector > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > IfcFillAreaStyleTiles::Tiles() { RETURN_AS_LIST(IfcStyledItem,1) } -void IfcFillAreaStyleTiles::setTiles(SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcVector >::ptr IfcFillAreaStyleTiles::TilingPattern() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcFillAreaStyleTiles::setTilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcStyledItem >::ptr IfcFillAreaStyleTiles::Tiles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcFillAreaStyleTiles::setTiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } void IfcFillAreaStyleTiles::setTilingScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } Type::Enum IfcFillAreaStyleTiles::Class() { return Type::IfcFillAreaStyleTiles; } -IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTiles)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(SHARED_PTR< IfcTemplatedEntityList< IfcVector > > v1_TilingPattern, SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)->generalize()); e->setArgument(1,(v2_Tiles)->generalize()); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTiles)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)->generalize()); e->setArgument(1,(v2_Tiles)->generalize()); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilter -bool IfcFilter::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilter::PredefinedType() { return IfcFilterTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFilter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilter::IfcFilter(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFilter::IfcFilter(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFilterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilterType -IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterType::PredefinedType() { return IfcFilterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilterType::IfcFilterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFilterType::IfcFilterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminal -bool IfcFireSuppressionTerminal::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminal::PredefinedType() { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminalType -IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalType::PredefinedType() { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFixedReferenceSweptAreaSolid -IfcCurve* IfcFixedReferenceSweptAreaSolid::Directrix() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -IfcParameterValue IfcFixedReferenceSweptAreaSolid::StartParam() { return *entity->getArgument(3); } +bool IfcFixedReferenceSweptAreaSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } +IfcParameterValue IfcFixedReferenceSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } void IfcFixedReferenceSweptAreaSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcFixedReferenceSweptAreaSolid::hasEndParam() { return !entity->getArgument(4)->isNull(); } -IfcParameterValue IfcFixedReferenceSweptAreaSolid::EndParam() { return *entity->getArgument(4); } +bool IfcFixedReferenceSweptAreaSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } +IfcParameterValue IfcFixedReferenceSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } void IfcFixedReferenceSweptAreaSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcDirection* IfcFixedReferenceSweptAreaSolid::FixedReference() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +IfcDirection* IfcFixedReferenceSweptAreaSolid::FixedReference() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcFixedReferenceSweptAreaSolid::setFixedReference(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcFixedReferenceSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcFixedReferenceSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcFixedReferenceSweptAreaSolid::type() const { return Type::IfcFixedReferenceSweptAreaSolid; } Type::Enum IfcFixedReferenceSweptAreaSolid::Class() { return Type::IfcFixedReferenceSweptAreaSolid; } -IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFixedReferenceSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcDirection* v6_FixedReference) : IfcSweptAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFixedReferenceSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcDirection* v6_FixedReference) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_FixedReference)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowController::IfcFlowController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowController::IfcFlowController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowControllerType::IfcFlowControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowControllerType::IfcFlowControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFitting::IfcFlowFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowFitting::IfcFlowFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFittingType::IfcFlowFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowFittingType::IfcFlowFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrument -bool IfcFlowInstrument::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrument::PredefinedType() { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrument::IfcFlowInstrument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowInstrument::IfcFlowInstrument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrumentType -IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentType::PredefinedType() { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrumentType::IfcFlowInstrumentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowInstrumentType::IfcFlowInstrumentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeter -bool IfcFlowMeter::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeter::PredefinedType() { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMeter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeter::IfcFlowMeter(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMeter::IfcFlowMeter(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowMeterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeterType -IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterType::PredefinedType() { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeterType::IfcFlowMeterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMeterType::IfcFlowMeterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDevice::IfcFlowMovingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMovingDevice::IfcFlowMovingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegment::IfcFlowSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowSegment::IfcFlowSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegmentType::IfcFlowSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowSegmentType::IfcFlowSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDevice::IfcFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowStorageDevice::IfcFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminal::IfcFlowTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTerminal::IfcFlowTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminalType::IfcFlowTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTerminalType::IfcFlowTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFooting -bool IfcFooting::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFootingTypeEnum::IfcFootingTypeEnum IfcFooting::PredefinedType() { return IfcFootingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFooting::IfcFooting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFooting::IfcFooting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFootingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFootingType -IfcFootingTypeEnum::IfcFootingTypeEnum IfcFootingType::PredefinedType() { return IfcFootingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFootingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFootingType::IfcFootingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFootingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFootingType::IfcFootingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFootingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElement::IfcFurnishingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnishingElement::IfcFurnishingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElementType::IfcFurnishingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnishingElementType::IfcFurnishingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurniture -bool IfcFurniture::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcFurnitureTypeEnum::IfcFurnitureTypeEnum IfcFurniture::PredefinedType() { return IfcFurnitureTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFurnishingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurniture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurniture::IfcFurniture(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFurnishingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurniture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurniture::IfcFurniture(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFurnitureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureType -IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcFurnitureType::AssemblyPlace() { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcFurnitureTypeEnum::IfcFurnitureTypeEnum IfcFurnitureType::PredefinedType() { return IfcFurnitureTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureType::IfcFurnitureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->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(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcFurnitureType::IfcFurnitureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcFurnitureTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeographicElement -bool IfcGeographicElement::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum IfcGeographicElement::PredefinedType() { return IfcGeographicElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeographicElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeographicElement::IfcGeographicElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeographicElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeographicElement::IfcGeographicElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcGeographicElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeographicElementType -IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum IfcGeographicElementType::PredefinedType() { return IfcGeographicElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeographicElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeographicElementType::IfcGeographicElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeographicElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeographicElementType::IfcGeographicElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGeographicElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricCurveSet bool IfcGeometricCurveSet::is(Type::Enum v) const { return v == Type::IfcGeometricCurveSet || IfcGeometricSet::is(v); } Type::Enum IfcGeometricCurveSet::type() const { return Type::IfcGeometricCurveSet; } Type::Enum IfcGeometricCurveSet::Class() { return Type::IfcGeometricCurveSet; } -IfcGeometricCurveSet::IfcGeometricCurveSet(IfcAbstractEntityPtr e) : IfcGeometricSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricCurveSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntities v1_Elements) : IfcGeometricSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } +IfcGeometricCurveSet::IfcGeometricCurveSet(IfcAbstractEntity* e) : IfcGeometricSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricCurveSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : IfcGeometricSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationContext -IfcDimensionCount IfcGeometricRepresentationContext::CoordinateSpaceDimension() { return *entity->getArgument(2); } +IfcDimensionCount IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(IfcDimensionCount v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcGeometricRepresentationContext::hasPrecision() { return !entity->getArgument(3)->isNull(); } -double IfcGeometricRepresentationContext::Precision() { return *entity->getArgument(3); } +bool IfcGeometricRepresentationContext::hasPrecision() const { return !entity->getArgument(3)->isNull(); } +double IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } void IfcGeometricRepresentationContext::setPrecision(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcAxis2Placement IfcGeometricRepresentationContext::WorldCoordinateSystem() { return *entity->getArgument(4); } +IfcAxis2Placement IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return *entity->getArgument(4); } void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcGeometricRepresentationContext::hasTrueNorth() { return !entity->getArgument(5)->isNull(); } -IfcDirection* IfcGeometricRepresentationContext::TrueNorth() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } -IfcGeometricRepresentationSubContext::list IfcGeometricRepresentationContext::HasSubContexts() { RETURN_INVERSE(IfcGeometricRepresentationSubContext) } +IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return entity->getInverse(Type::IfcGeometricRepresentationSubContext)->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(IfcAbstractEntityPtr e) : IfcRepresentationContext((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationItem bool IfcGeometricRepresentationItem::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationItem || IfcRepresentationItem::is(v); } Type::Enum IfcGeometricRepresentationItem::type() const { return Type::IfcGeometricRepresentationItem; } Type::Enum IfcGeometricRepresentationItem::Class() { return Type::IfcGeometricRepresentationItem; } -IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationSubContext -IfcGeometricRepresentationContext* IfcGeometricRepresentationSubContext::ParentContext() { return (IfcGeometricRepresentationContext*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcPositiveRatioMeasure IfcGeometricRepresentationSubContext::TargetScale() { return *entity->getArgument(7); } +bool IfcGeometricRepresentationSubContext::hasTargetScale() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveRatioMeasure IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } void IfcGeometricRepresentationSubContext::setTargetScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricRepresentationSubContext::TargetView() { return IfcGeometricProjectionEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcGeometricRepresentationSubContext::UserDefinedTargetView() { return *entity->getArgument(9); } +bool IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcGeometricRepresentationSubContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationSubContext || IfcGeometricRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::IfcGeometricRepresentationSubContext; } Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } -IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntityPtr e) : IfcGeometricRepresentationContext((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntity* e) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricSet -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcGeometricSet::Elements() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcGeometricSet::setElements(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcGeometricSet::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcGeometricSet::setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } bool IfcGeometricSet::is(Type::Enum v) const { return v == Type::IfcGeometricSet || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcGeometricSet::type() const { return Type::IfcGeometricSet; } Type::Enum IfcGeometricSet::Class() { return Type::IfcGeometricSet; } -IfcGeometricSet::IfcGeometricSet(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGeometricSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricSet::IfcGeometricSet(IfcEntities v1_Elements) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } +IfcGeometricSet::IfcGeometricSet(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGeometricSet::IfcGeometricSet(IfcEntityList::ptr v1_Elements) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGrid -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::UAxes() { RETURN_AS_LIST(IfcGridAxis,7) } -void IfcGrid::setUAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::VAxes() { RETURN_AS_LIST(IfcGridAxis,8) } -void IfcGrid::setVAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcGrid::hasWAxes() { return !entity->getArgument(9)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcGrid::WAxes() { RETURN_AS_LIST(IfcGridAxis,9) } -void IfcGrid::setWAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } -bool IfcGrid::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcGridTypeEnum::IfcGridTypeEnum IfcGrid::PredefinedType() { return IfcGridTypeEnum::FromString(*entity->getArgument(10)); } +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()); } +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)); } -IfcRelContainedInSpatialStructure::list IfcGrid::ContainedInStructure() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } +IfcRelContainedInSpatialStructure::list::ptr IfcGrid::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->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(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGrid::IfcGrid(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v8_UAxes, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v9_VAxes, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGrid::IfcGrid(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcGridTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridAxis -bool IfcGridAxis::hasAxisTag() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcGridAxis::AxisTag() { return *entity->getArgument(0); } +bool IfcGridAxis::hasAxisTag() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } void IfcGridAxis::setAxisTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCurve* IfcGridAxis::AxisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcCurve* IfcGridAxis::AxisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcGridAxis::setAxisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBoolean IfcGridAxis::SameSense() { return *entity->getArgument(2); } +IfcBoolean IfcGridAxis::SameSense() const { return *entity->getArgument(2); } void IfcGridAxis::setSameSense(IfcBoolean v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcGrid::list IfcGridAxis::PartOfW() { RETURN_INVERSE(IfcGrid) } -IfcGrid::list IfcGridAxis::PartOfV() { RETURN_INVERSE(IfcGrid) } -IfcGrid::list IfcGridAxis::PartOfU() { RETURN_INVERSE(IfcGrid) } -IfcVirtualGridIntersection::list IfcGridAxis::HasIntersections() { RETURN_INVERSE(IfcVirtualGridIntersection) } +IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return entity->getInverse(Type::IfcGrid)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return entity->getInverse(Type::IfcGrid)->as(); } +IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return entity->getInverse(Type::IfcGrid)->as(); } +IfcVirtualGridIntersection::list::ptr IfcGridAxis::HasIntersections() const { return entity->getInverse(Type::IfcVirtualGridIntersection)->as(); } bool IfcGridAxis::is(Type::Enum v) const { return v == Type::IfcGridAxis; } Type::Enum IfcGridAxis::type() const { return Type::IfcGridAxis; } Type::Enum IfcGridAxis::Class() { return Type::IfcGridAxis; } -IfcGridAxis::IfcGridAxis(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcGridAxis)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGridAxis::IfcGridAxis(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcGridAxis)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcGridAxis::IfcGridAxis(boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_AxisTag) { e->setArgument(0,(*v1_AxisTag)); } else { e->setArgument(0); } e->setArgument(1,(v2_AxisCurve)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridPlacement -IfcVirtualGridIntersection* IfcGridPlacement::PlacementLocation() { return (IfcVirtualGridIntersection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcGridPlacementDirectionSelect IfcGridPlacement::PlacementRefDirection() { return *entity->getArgument(1); } +bool IfcGridPlacement::hasPlacementRefDirection() const { return !entity->getArgument(1)->isNull(); } +IfcGridPlacementDirectionSelect IfcGridPlacement::PlacementRefDirection() const { return *entity->getArgument(1); } void IfcGridPlacement::setPlacementRefDirection(IfcGridPlacementDirectionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcObjectPlacement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGridPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect > v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); if (v2_PlacementRefDirection) { e->setArgument(1,(*v2_PlacementRefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcGridPlacement::IfcGridPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGridPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect > v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); if (v2_PlacementRefDirection) { e->setArgument(1,(*v2_PlacementRefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGroup -IfcRelAssignsToGroup::list IfcGroup::IsGroupedBy() { RETURN_INVERSE(IfcRelAssignsToGroup) } +IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return entity->getInverse(Type::IfcRelAssignsToGroup)->as(); } bool IfcGroup::is(Type::Enum v) const { return v == Type::IfcGroup || IfcObject::is(v); } Type::Enum IfcGroup::type() const { return Type::IfcGroup; } Type::Enum IfcGroup::Class() { return Type::IfcGroup; } -IfcGroup::IfcGroup(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGroup::IfcGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } 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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcGroup::IfcGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHalfSpaceSolid -IfcSurface* IfcHalfSpaceSolid::BaseSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -bool IfcHalfSpaceSolid::AgreementFlag() { return *entity->getArgument(1); } +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); } 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; } -IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHalfSpaceSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); entity = e; EntityBuffer::Add(this); } +IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHalfSpaceSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchanger::PredefinedType() { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHeatExchanger)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchanger::IfcHeatExchanger(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchanger)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHeatExchanger::IfcHeatExchanger(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHeatExchangerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHeatExchangerType -IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchangerType::PredefinedType() { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchangerType::IfcHeatExchangerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHeatExchangerType::IfcHeatExchangerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifier -bool IfcHumidifier::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifier::PredefinedType() { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHumidifier)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifier::IfcHumidifier(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifier)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHumidifier::IfcHumidifier(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHumidifierTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifierType -IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierType::PredefinedType() { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifierType::IfcHumidifierType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcHumidifierType::IfcHumidifierType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIShapeProfileDef -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallWidth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } void IfcIShapeProfileDef::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallDepth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } void IfcIShapeProfileDef::setOverallDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcIShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcIShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcIShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcIShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcIShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcIShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcIShapeProfileDef::hasFlangeEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcIShapeProfileDef::FlangeEdgeRadius() { return *entity->getArgument(8); } +bool IfcIShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcNonNegativeLengthMeasure IfcIShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } void IfcIShapeProfileDef::setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcIShapeProfileDef::hasFlangeSlope() { return !entity->getArgument(9)->isNull(); } -IfcPlaneAngleMeasure IfcIShapeProfileDef::FlangeSlope() { return *entity->getArgument(9); } +bool IfcIShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } +IfcPlaneAngleMeasure IfcIShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } void IfcIShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcImageTexture -IfcURIReference IfcImageTexture::URLReference() { return *entity->getArgument(5); } +IfcURIReference IfcImageTexture::URLReference() const { return *entity->getArgument(5); } void IfcImageTexture::setURLReference(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcSurfaceTexture((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcURIReference v6_URLReference) : IfcSurfaceTexture((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcURIReference v6_URLReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_URLReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIndexedColourMap -IfcTessellatedFaceSet* IfcIndexedColourMap::MappedTo() { return (IfcTessellatedFaceSet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcSurfaceStyleShading* IfcIndexedColourMap::Overrides() { return (IfcSurfaceStyleShading*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -IfcColourRgbList* IfcIndexedColourMap::Colours() { return (IfcColourRgbList*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -std::vector< int > /*[1:?]*/ IfcIndexedColourMap::ColourIndex() { return *entity->getArgument(3); } +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); } 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(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcIndexedTextureMap -IfcTessellatedFaceSet* IfcIndexedTextureMap::MappedTo() { return (IfcTessellatedFaceSet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -IfcTextureVertexList* IfcIndexedTextureMap::TexCoords() { return (IfcTextureVertexList*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcIndexedTextureMap::IfcIndexedTextureMap(IfcAbstractEntityPtr e) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcIndexedTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIndexedTextureMap::IfcIndexedTextureMap(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate((IfcAbstractEntityPtr)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); } +IfcIndexedTextureMap::IfcIndexedTextureMap(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIndexedTextureMap::IfcIndexedTextureMap(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate((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 IfcIndexedTriangleTextureMap bool IfcIndexedTriangleTextureMap::is(Type::Enum v) const { return v == Type::IfcIndexedTriangleTextureMap || IfcIndexedTextureMap::is(v); } Type::Enum IfcIndexedTriangleTextureMap::type() const { return Type::IfcIndexedTriangleTextureMap; } Type::Enum IfcIndexedTriangleTextureMap::Class() { return Type::IfcIndexedTriangleTextureMap; } -IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcAbstractEntityPtr e) : IfcIndexedTextureMap((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcIndexedTriangleTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords) : IfcIndexedTextureMap((IfcAbstractEntityPtr)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); } +IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcAbstractEntity* e) : IfcIndexedTextureMap((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedTriangleTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = 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() { return !entity->getArgument(8)->isNull(); } -IfcInterceptorTypeEnum::IfcInterceptorTypeEnum IfcInterceptor::PredefinedType() { return IfcInterceptorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcInterceptor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInterceptor::IfcInterceptor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcInterceptor::IfcInterceptor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcInterceptorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInterceptorType -IfcInterceptorTypeEnum::IfcInterceptorTypeEnum IfcInterceptorType::PredefinedType() { return IfcInterceptorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcInterceptorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInterceptorType::IfcInterceptorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcInterceptorType::IfcInterceptorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcInterceptorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInventory -bool IfcInventory::hasPredefinedType() { return !entity->getArgument(5)->isNull(); } -IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::PredefinedType() { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcActorSelect IfcInventory::Jurisdiction() { return *entity->getArgument(6); } +bool IfcInventory::hasJurisdiction() const { return !entity->getArgument(6)->isNull(); } +IfcActorSelect IfcInventory::Jurisdiction() const { return *entity->getArgument(6); } void IfcInventory::setJurisdiction(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcInventory::hasResponsiblePersons() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > IfcInventory::ResponsiblePersons() { RETURN_AS_LIST(IfcPerson,7) } -void IfcInventory::setResponsiblePersons(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcInventory::hasLastUpdateDate() { return !entity->getArgument(8)->isNull(); } -IfcDate IfcInventory::LastUpdateDate() { return *entity->getArgument(8); } +bool IfcInventory::hasResponsiblePersons() const { return !entity->getArgument(7)->isNull(); } +IfcTemplatedEntityList< IfcPerson >::ptr IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +bool IfcInventory::hasLastUpdateDate() const { return !entity->getArgument(8)->isNull(); } +IfcDate IfcInventory::LastUpdateDate() const { return *entity->getArgument(8); } void IfcInventory::setLastUpdateDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcInventory::hasCurrentValue() { return !entity->getArgument(9)->isNull(); } -IfcCostValue* IfcInventory::CurrentValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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() { return !entity->getArgument(10)->isNull(); } -IfcCostValue* IfcInventory::OriginalValue() { return (IfcCostValue*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInventory::IfcInventory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect > v7_Jurisdiction, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_ResponsiblePersons, boost::optional< IfcDate > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcInventoryTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } if (v7_Jurisdiction) { e->setArgument(6,(*v7_Jurisdiction)); } else { e->setArgument(6); } if (v8_ResponsiblePersons) { e->setArgument(7,(*v8_ResponsiblePersons)->generalize()); } else { e->setArgument(7); } if (v9_LastUpdateDate) { e->setArgument(8,(*v9_LastUpdateDate)); } else { e->setArgument(8); } e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } +IfcInventory::IfcInventory(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcInventory::IfcInventory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect > v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< IfcDate > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcInventoryTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } if (v7_Jurisdiction) { e->setArgument(6,(*v7_Jurisdiction)); } else { e->setArgument(6); } if (v8_ResponsiblePersons) { e->setArgument(7,(*v8_ResponsiblePersons)->generalize()); } else { e->setArgument(7); } if (v9_LastUpdateDate) { e->setArgument(8,(*v9_LastUpdateDate)); } else { e->setArgument(8); } e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeries -SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > IfcIrregularTimeSeries::Values() { RETURN_AS_LIST(IfcIrregularTimeSeriesValue,8) } -void IfcIrregularTimeSeries::setValues(SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } +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()); } bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntityPtr e) : IfcTimeSeries((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v9_Values) : IfcTimeSeries((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeriesValue -IfcDateTime IfcIrregularTimeSeriesValue::TimeStamp() { return *entity->getArgument(0); } +IfcDateTime IfcIrregularTimeSeriesValue::TimeStamp() const { return *entity->getArgument(0); } void IfcIrregularTimeSeriesValue::setTimeStamp(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcIrregularTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcIrregularTimeSeriesValue::setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcIrregularTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcIrregularTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcIrregularTimeSeriesValue::is(Type::Enum v) const { return v == Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::type() const { return Type::IfcIrregularTimeSeriesValue; } Type::Enum IfcIrregularTimeSeriesValue::Class() { return Type::IfcIrregularTimeSeriesValue; } -IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTime v1_TimeStamp, IfcEntities v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTime v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBox -bool IfcJunctionBox::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBox::PredefinedType() { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFitting((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcJunctionBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBox::IfcJunctionBox(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcJunctionBox::IfcJunctionBox(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcJunctionBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBoxType -IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxType::PredefinedType() { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBoxType::IfcJunctionBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcJunctionBoxType::IfcJunctionBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLShapeProfileDef -IfcPositiveLengthMeasure IfcLShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcLShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLShapeProfileDef::hasWidth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Width() { return *entity->getArgument(4); } +bool IfcLShapeProfileDef::hasWidth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } void IfcLShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Thickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } void IfcLShapeProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcLShapeProfileDef::hasFilletRadius() { return !entity->getArgument(6)->isNull(); } -IfcNonNegativeLengthMeasure IfcLShapeProfileDef::FilletRadius() { return *entity->getArgument(6); } +bool IfcLShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(6)->isNull(); } +IfcNonNegativeLengthMeasure IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } void IfcLShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcLShapeProfileDef::hasEdgeRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcLShapeProfileDef::EdgeRadius() { return *entity->getArgument(7); } +bool IfcLShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } void IfcLShapeProfileDef::setEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcLShapeProfileDef::hasLegSlope() { return !entity->getArgument(8)->isNull(); } -IfcPlaneAngleMeasure IfcLShapeProfileDef::LegSlope() { return *entity->getArgument(8); } +bool IfcLShapeProfileDef::hasLegSlope() const { return !entity->getArgument(8)->isNull(); } +IfcPlaneAngleMeasure IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } void IfcLShapeProfileDef::setLegSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcNonNegativeLengthMeasure > v7_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcNonNegativeLengthMeasure > v7_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResource -bool IfcLaborResource::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum IfcLaborResource::PredefinedType() { return IfcLaborResourceTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResource::IfcLaborResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLaborResource::IfcLaborResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResourceType -IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum IfcLaborResourceType::PredefinedType() { return IfcLaborResourceTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLaborResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResourceType::IfcLaborResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLaborResourceType::IfcLaborResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcLaborResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLagTime -IfcTimeOrRatioSelect IfcLagTime::LagValue() { return *entity->getArgument(3); } +IfcTimeOrRatioSelect IfcLagTime::LagValue() const { return *entity->getArgument(3); } void IfcLagTime::setLagValue(IfcTimeOrRatioSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcTaskDurationEnum::IfcTaskDurationEnum IfcLagTime::DurationType() { return IfcTaskDurationEnum::FromString(*entity->getArgument(4)); } +IfcTaskDurationEnum::IfcTaskDurationEnum IfcLagTime::DurationType() const { return IfcTaskDurationEnum::FromString(*entity->getArgument(4)); } void IfcLagTime::setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTaskDurationEnum::ToString(v)); } bool IfcLagTime::is(Type::Enum v) const { return v == Type::IfcLagTime || IfcSchedulingTime::is(v); } Type::Enum IfcLagTime::type() const { return Type::IfcLagTime; } Type::Enum IfcLagTime::Class() { return Type::IfcLagTime; } -IfcLagTime::IfcLagTime(IfcAbstractEntityPtr e) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLagTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLagTime::IfcLagTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_LagValue)); e->setArgument(4,v5_DurationType,IfcTaskDurationEnum::ToString(v5_DurationType)); entity = e; EntityBuffer::Add(this); } +IfcLagTime::IfcLagTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLagTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLagTime::IfcLagTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_LagValue)); e->setArgument(4,v5_DurationType,IfcTaskDurationEnum::ToString(v5_DurationType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLamp -bool IfcLamp::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcLampTypeEnum::IfcLampTypeEnum IfcLamp::PredefinedType() { return IfcLampTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLamp::IfcLamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLamp::IfcLamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLampType -IfcLampTypeEnum::IfcLampTypeEnum IfcLampType::PredefinedType() { return IfcLampTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLampType::IfcLampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLampType::IfcLampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryInformation -IfcLabel IfcLibraryInformation::Name() { return *entity->getArgument(0); } +IfcLabel IfcLibraryInformation::Name() const { return *entity->getArgument(0); } void IfcLibraryInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcLibraryInformation::hasVersion() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcLibraryInformation::Version() { return *entity->getArgument(1); } +bool IfcLibraryInformation::hasVersion() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcLibraryInformation::Version() const { return *entity->getArgument(1); } void IfcLibraryInformation::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcLibraryInformation::hasPublisher() { return !entity->getArgument(2)->isNull(); } -IfcActorSelect IfcLibraryInformation::Publisher() { return *entity->getArgument(2); } +bool IfcLibraryInformation::hasPublisher() const { return !entity->getArgument(2)->isNull(); } +IfcActorSelect IfcLibraryInformation::Publisher() const { return *entity->getArgument(2); } void IfcLibraryInformation::setPublisher(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLibraryInformation::hasVersionDate() { return !entity->getArgument(3)->isNull(); } -IfcDateTime IfcLibraryInformation::VersionDate() { return *entity->getArgument(3); } +bool IfcLibraryInformation::hasVersionDate() const { return !entity->getArgument(3)->isNull(); } +IfcDateTime IfcLibraryInformation::VersionDate() const { return *entity->getArgument(3); } void IfcLibraryInformation::setVersionDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLibraryInformation::hasLocation() { return !entity->getArgument(4)->isNull(); } -IfcURIReference IfcLibraryInformation::Location() { return *entity->getArgument(4); } +bool IfcLibraryInformation::hasLocation() const { return !entity->getArgument(4)->isNull(); } +IfcURIReference IfcLibraryInformation::Location() const { return *entity->getArgument(4); } void IfcLibraryInformation::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcLibraryInformation::hasDescription() { return !entity->getArgument(5)->isNull(); } -IfcText IfcLibraryInformation::Description() { return *entity->getArgument(5); } +bool IfcLibraryInformation::hasDescription() const { return !entity->getArgument(5)->isNull(); } +IfcText IfcLibraryInformation::Description() const { return *entity->getArgument(5); } void IfcLibraryInformation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcRelAssociatesLibrary::list IfcLibraryInformation::LibraryInfoForObjects() { RETURN_INVERSE(IfcRelAssociatesLibrary) } -IfcLibraryReference::list IfcLibraryInformation::HasLibraryReferences() { RETURN_INVERSE(IfcLibraryReference) } +IfcRelAssociatesLibrary::list::ptr IfcLibraryInformation::LibraryInfoForObjects() const { return entity->getInverse(Type::IfcRelAssociatesLibrary)->as(); } +IfcLibraryReference::list::ptr IfcLibraryInformation::HasLibraryReferences() const { return entity->getInverse(Type::IfcLibraryReference)->as(); } bool IfcLibraryInformation::is(Type::Enum v) const { return v == Type::IfcLibraryInformation || IfcExternalInformation::is(v); } Type::Enum IfcLibraryInformation::type() const { return Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::Class() { return Type::IfcLibraryInformation; } -IfcLibraryInformation::IfcLibraryInformation(IfcAbstractEntityPtr e) : IfcExternalInformation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryInformation::IfcLibraryInformation(IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, boost::optional< IfcActorSelect > v3_Publisher, boost::optional< IfcDateTime > v4_VersionDate, boost::optional< IfcURIReference > v5_Location, boost::optional< IfcText > v6_Description) : IfcExternalInformation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } if (v3_Publisher) { e->setArgument(2,(*v3_Publisher)); } else { e->setArgument(2); } if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_Location) { e->setArgument(4,(*v5_Location)); } else { e->setArgument(4); } if (v6_Description) { e->setArgument(5,(*v6_Description)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcLibraryInformation::IfcLibraryInformation(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLibraryInformation::IfcLibraryInformation(IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, boost::optional< IfcActorSelect > v3_Publisher, boost::optional< IfcDateTime > v4_VersionDate, boost::optional< IfcURIReference > v5_Location, boost::optional< IfcText > v6_Description) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } if (v3_Publisher) { e->setArgument(2,(*v3_Publisher)); } else { e->setArgument(2); } if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_Location) { e->setArgument(4,(*v5_Location)); } else { e->setArgument(4); } if (v6_Description) { e->setArgument(5,(*v6_Description)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryReference -bool IfcLibraryReference::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcLibraryReference::Description() { return *entity->getArgument(3); } +bool IfcLibraryReference::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcLibraryReference::Description() const { return *entity->getArgument(3); } void IfcLibraryReference::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcLibraryReference::hasLanguage() { return !entity->getArgument(4)->isNull(); } -IfcLanguageId IfcLibraryReference::Language() { return *entity->getArgument(4); } +bool IfcLibraryReference::hasLanguage() const { return !entity->getArgument(4)->isNull(); } +IfcLanguageId IfcLibraryReference::Language() const { return *entity->getArgument(4); } void IfcLibraryReference::setLanguage(IfcLanguageId v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcLibraryReference::hasReferencedLibrary() { return !entity->getArgument(5)->isNull(); } -IfcLibraryInformation* IfcLibraryReference::ReferencedLibrary() { return (IfcLibraryInformation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } -IfcRelAssociatesLibrary::list IfcLibraryReference::LibraryRefForObjects() { RETURN_INVERSE(IfcRelAssociatesLibrary) } +IfcRelAssociatesLibrary::list::ptr IfcLibraryReference::LibraryRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesLibrary)->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(IfcAbstractEntityPtr e) : IfcExternalReference((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryReference::IfcLibraryReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLanguageId > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLibraryReference::IfcLibraryReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLanguageId > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Language) { e->setArgument(4,(*v5_Language)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferencedLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightDistributionData -IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() { return *entity->getArgument(0); } +IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } void IfcLightDistributionData::setMainPlaneAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() { return *entity->getArgument(1); } +std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() { return *entity->getArgument(2); } +std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } void IfcLightDistributionData::setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcLightDistributionData::is(Type::Enum v) const { return v == Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::type() const { return Type::IfcLightDistributionData; } Type::Enum IfcLightDistributionData::Class() { return Type::IfcLightDistributionData; } -IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightDistributionData)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightDistributionData)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcLightDistributionData::IfcLightDistributionData(IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixture -bool IfcLightFixture::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixture::PredefinedType() { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightFixture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixture::IfcLightFixture(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightFixture::IfcLightFixture(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLightFixtureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixtureType -IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureType::PredefinedType() { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixtureType::IfcLightFixtureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightFixtureType::IfcLightFixtureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightIntensityDistribution -IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } +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)); } -SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > IfcLightIntensityDistribution::DistributionData() { RETURN_AS_LIST(IfcLightDistributionData,1) } -void IfcLightIntensityDistribution::setDistributionData(SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightIntensityDistribution)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > 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); } +IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightIntensityDistribution)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcLightSource::Name() { return *entity->getArgument(0); } +bool IfcLightSource::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcLightSource::Name() const { return *entity->getArgument(0); } void IfcLightSource::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcColourRgb* IfcLightSource::LightColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::AmbientIntensity() { return *entity->getArgument(2); } +bool IfcLightSource::hasAmbientIntensity() const { return !entity->getArgument(2)->isNull(); } +IfcNormalisedRatioMeasure IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } void IfcLightSource::setAmbientIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcLightSource::hasIntensity() { return !entity->getArgument(3)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::Intensity() { return *entity->getArgument(3); } +bool IfcLightSource::hasIntensity() const { return !entity->getArgument(3)->isNull(); } +IfcNormalisedRatioMeasure IfcLightSource::Intensity() const { return *entity->getArgument(3); } void IfcLightSource::setIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLightSource::is(Type::Enum v) const { return v == Type::IfcLightSource || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcLightSource::type() const { return Type::IfcLightSource; } Type::Enum IfcLightSource::Class() { return Type::IfcLightSource; } -IfcLightSource::IfcLightSource(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSource::IfcLightSource(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSource::IfcLightSource(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSource::IfcLightSource(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceAmbient bool IfcLightSourceAmbient::is(Type::Enum v) const { return v == Type::IfcLightSourceAmbient || IfcLightSource::is(v); } Type::Enum IfcLightSourceAmbient::type() const { return Type::IfcLightSourceAmbient; } Type::Enum IfcLightSourceAmbient::Class() { return Type::IfcLightSourceAmbient; } -IfcLightSourceAmbient::IfcLightSourceAmbient(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceAmbient)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcLightSource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSourceAmbient::IfcLightSourceAmbient(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceAmbient)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceDirectional -IfcDirection* IfcLightSourceDirectional::Orientation() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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; } -IfcLightSourceDirectional::IfcLightSourceDirectional(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceDirectional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceDirectional::IfcLightSourceDirectional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceDirectional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceGoniometric -IfcAxis2Placement3D* IfcLightSourceGoniometric::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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() { return !entity->getArgument(5)->isNull(); } -IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +bool IfcLightSourceGoniometric::hasColourAppearance() const { return !entity->getArgument(5)->isNull(); } +IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcLightSourceGoniometric::setColourAppearance(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcThermodynamicTemperatureMeasure IfcLightSourceGoniometric::ColourTemperature() { return *entity->getArgument(6); } +IfcThermodynamicTemperatureMeasure IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } void IfcLightSourceGoniometric::setColourTemperature(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcLuminousFluxMeasure IfcLightSourceGoniometric::LuminousFlux() { return *entity->getArgument(7); } +IfcLuminousFluxMeasure IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } void IfcLightSourceGoniometric::setLuminousFlux(IfcLuminousFluxMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } +IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() const { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } void IfcLightSourceGoniometric::setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v)); } -IfcLightDistributionDataSourceSelect IfcLightSourceGoniometric::LightDistributionDataSource() { return *entity->getArgument(9); } +IfcLightDistributionDataSourceSelect IfcLightSourceGoniometric::LightDistributionDataSource() const { return *entity->getArgument(9); } void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourcePositional -IfcCartesianPoint* IfcLightSourcePositional::Position() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +IfcCartesianPoint* IfcLightSourcePositional::Position() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcLightSourcePositional::setPosition(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLightSourcePositional::Radius() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } void IfcLightSourcePositional::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcReal IfcLightSourcePositional::ConstantAttenuation() { return *entity->getArgument(6); } +IfcReal IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } void IfcLightSourcePositional::setConstantAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcReal IfcLightSourcePositional::DistanceAttenuation() { return *entity->getArgument(7); } +IfcReal IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } void IfcLightSourcePositional::setDistanceAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcReal IfcLightSourcePositional::QuadricAttenuation() { return *entity->getArgument(8); } +IfcReal IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } void IfcLightSourcePositional::setQuadricAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcLightSourcePositional::is(Type::Enum v) const { return v == Type::IfcLightSourcePositional || IfcLightSource::is(v); } Type::Enum IfcLightSourcePositional::type() const { return Type::IfcLightSourcePositional; } Type::Enum IfcLightSourcePositional::Class() { return Type::IfcLightSourcePositional; } -IfcLightSourcePositional::IfcLightSourcePositional(IfcAbstractEntityPtr e) : IfcLightSource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourcePositional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourcePositional::IfcLightSourcePositional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourcePositional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceSpot -IfcDirection* IfcLightSourceSpot::Orientation() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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() { return !entity->getArgument(10)->isNull(); } -IfcReal IfcLightSourceSpot::ConcentrationExponent() { return *entity->getArgument(10); } +bool IfcLightSourceSpot::hasConcentrationExponent() const { return !entity->getArgument(10)->isNull(); } +IfcReal IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } void IfcLightSourceSpot::setConcentrationExponent(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::SpreadAngle() { return *entity->getArgument(11); } +IfcPositivePlaneAngleMeasure IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } void IfcLightSourceSpot::setSpreadAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::BeamWidthAngle() { return *entity->getArgument(12); } +IfcPositivePlaneAngleMeasure IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } void IfcLightSourceSpot::setBeamWidthAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcLightSourceSpot::is(Type::Enum v) const { return v == Type::IfcLightSourceSpot || IfcLightSourcePositional::is(v); } Type::Enum IfcLightSourceSpot::type() const { return Type::IfcLightSourceSpot; } Type::Enum IfcLightSourceSpot::Class() { return Type::IfcLightSourceSpot; } -IfcLightSourceSpot::IfcLightSourceSpot(IfcAbstractEntityPtr e) : IfcLightSourcePositional((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLightSourceSpot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceSpot::IfcLightSourceSpot(IfcAbstractEntity* e) : IfcLightSourcePositional((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceSpot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLine -IfcCartesianPoint* IfcLine::Pnt() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcVector* IfcLine::Dir() { return (IfcVector*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcLine::IfcLine(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLine::IfcLine(IfcCartesianPoint* v1_Pnt, IfcVector* v2_Dir) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Pnt)); e->setArgument(1,(v2_Dir)); entity = e; EntityBuffer::Add(this); } +IfcLine::IfcLine(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() { return (IfcObjectPlacement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +bool IfcLocalPlacement::hasPlacementRelTo() const { return !entity->getArgument(0)->isNull(); } +IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcLocalPlacement::setPlacementRelTo(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcLocalPlacement::RelativePlacement() { return *entity->getArgument(1); } +IfcAxis2Placement IfcLocalPlacement::RelativePlacement() const { return *entity->getArgument(1); } void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcObjectPlacement((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcLoop bool IfcLoop::is(Type::Enum v) const { return v == Type::IfcLoop || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcLoop::type() const { return Type::IfcLoop; } Type::Enum IfcLoop::Class() { return Type::IfcLoop; } -IfcLoop::IfcLoop(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcLoop::IfcLoop(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcManifoldSolidBrep -IfcClosedShell* IfcManifoldSolidBrep::Outer() { return (IfcClosedShell*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcManifoldSolidBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } +IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcManifoldSolidBrep)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMapConversion -IfcLengthMeasure IfcMapConversion::Eastings() { return *entity->getArgument(2); } +IfcLengthMeasure IfcMapConversion::Eastings() const { return *entity->getArgument(2); } void IfcMapConversion::setEastings(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLengthMeasure IfcMapConversion::Northings() { return *entity->getArgument(3); } +IfcLengthMeasure IfcMapConversion::Northings() const { return *entity->getArgument(3); } void IfcMapConversion::setNorthings(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcLengthMeasure IfcMapConversion::OrthogonalHeight() { return *entity->getArgument(4); } +IfcLengthMeasure IfcMapConversion::OrthogonalHeight() const { return *entity->getArgument(4); } void IfcMapConversion::setOrthogonalHeight(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMapConversion::hasXAxisAbscissa() { return !entity->getArgument(5)->isNull(); } -IfcReal IfcMapConversion::XAxisAbscissa() { return *entity->getArgument(5); } +bool IfcMapConversion::hasXAxisAbscissa() const { return !entity->getArgument(5)->isNull(); } +IfcReal IfcMapConversion::XAxisAbscissa() const { return *entity->getArgument(5); } void IfcMapConversion::setXAxisAbscissa(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcMapConversion::hasXAxisOrdinate() { return !entity->getArgument(6)->isNull(); } -IfcReal IfcMapConversion::XAxisOrdinate() { return *entity->getArgument(6); } +bool IfcMapConversion::hasXAxisOrdinate() const { return !entity->getArgument(6)->isNull(); } +IfcReal IfcMapConversion::XAxisOrdinate() const { return *entity->getArgument(6); } void IfcMapConversion::setXAxisOrdinate(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcMapConversion::hasScale() { return !entity->getArgument(7)->isNull(); } -IfcReal IfcMapConversion::Scale() { return *entity->getArgument(7); } +bool IfcMapConversion::hasScale() const { return !entity->getArgument(7)->isNull(); } +IfcReal IfcMapConversion::Scale() const { return *entity->getArgument(7); } void IfcMapConversion::setScale(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcMapConversion::is(Type::Enum v) const { return v == Type::IfcMapConversion || IfcCoordinateOperation::is(v); } Type::Enum IfcMapConversion::type() const { return Type::IfcMapConversion; } Type::Enum IfcMapConversion::Class() { return Type::IfcMapConversion; } -IfcMapConversion::IfcMapConversion(IfcAbstractEntityPtr e) : IfcCoordinateOperation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMapConversion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMapConversion::IfcMapConversion(IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, IfcLengthMeasure v3_Eastings, IfcLengthMeasure v4_Northings, IfcLengthMeasure v5_OrthogonalHeight, boost::optional< IfcReal > v6_XAxisAbscissa, boost::optional< IfcReal > v7_XAxisOrdinate, boost::optional< IfcReal > v8_Scale) : IfcCoordinateOperation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); e->setArgument(2,(v3_Eastings)); e->setArgument(3,(v4_Northings)); e->setArgument(4,(v5_OrthogonalHeight)); if (v6_XAxisAbscissa) { e->setArgument(5,(*v6_XAxisAbscissa)); } else { e->setArgument(5); } if (v7_XAxisOrdinate) { e->setArgument(6,(*v7_XAxisOrdinate)); } else { e->setArgument(6); } if (v8_Scale) { e->setArgument(7,(*v8_Scale)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcMapConversion::IfcMapConversion(IfcAbstractEntity* e) : IfcCoordinateOperation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMapConversion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMapConversion::IfcMapConversion(IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, IfcLengthMeasure v3_Eastings, IfcLengthMeasure v4_Northings, IfcLengthMeasure v5_OrthogonalHeight, boost::optional< IfcReal > v6_XAxisAbscissa, boost::optional< IfcReal > v7_XAxisOrdinate, boost::optional< IfcReal > v8_Scale) : IfcCoordinateOperation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); e->setArgument(2,(v3_Eastings)); e->setArgument(3,(v4_Northings)); e->setArgument(4,(v5_OrthogonalHeight)); if (v6_XAxisAbscissa) { e->setArgument(5,(*v6_XAxisAbscissa)); } else { e->setArgument(5); } if (v7_XAxisOrdinate) { e->setArgument(6,(*v7_XAxisOrdinate)); } else { e->setArgument(6); } if (v8_Scale) { e->setArgument(7,(*v8_Scale)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMappedItem -IfcRepresentationMap* IfcMappedItem::MappingSource() { return (IfcRepresentationMap*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcCartesianTransformationOperator* IfcMappedItem::MappingTarget() { return (IfcCartesianTransformationOperator*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcMappedItem::IfcMappedItem(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMappedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingSource)); e->setArgument(1,(v2_MappingTarget)); entity = e; EntityBuffer::Add(this); } +IfcMappedItem::IfcMappedItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMappedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingSource)); e->setArgument(1,(v2_MappingTarget)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterial -IfcLabel IfcMaterial::Name() { return *entity->getArgument(0); } +IfcLabel IfcMaterial::Name() const { return *entity->getArgument(0); } void IfcMaterial::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterial::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterial::Description() { return *entity->getArgument(1); } +bool IfcMaterial::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcMaterial::Description() const { return *entity->getArgument(1); } void IfcMaterial::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterial::hasCategory() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcMaterial::Category() { return *entity->getArgument(2); } +bool IfcMaterial::hasCategory() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcMaterial::Category() const { return *entity->getArgument(2); } void IfcMaterial::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcMaterialDefinitionRepresentation::list IfcMaterial::HasRepresentation() { RETURN_INVERSE(IfcMaterialDefinitionRepresentation) } -IfcMaterialRelationship::list IfcMaterial::IsRelatedWith() { RETURN_INVERSE(IfcMaterialRelationship) } -IfcMaterialRelationship::list IfcMaterial::RelatesTo() { RETURN_INVERSE(IfcMaterialRelationship) } +IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return entity->getInverse(Type::IfcMaterialDefinitionRepresentation)->as(); } +IfcMaterialRelationship::list::ptr IfcMaterial::IsRelatedWith() const { return entity->getInverse(Type::IfcMaterialRelationship)->as(); } +IfcMaterialRelationship::list::ptr IfcMaterial::RelatesTo() const { return entity->getInverse(Type::IfcMaterialRelationship)->as(); } bool IfcMaterial::is(Type::Enum v) const { return v == Type::IfcMaterial || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterial::type() const { return Type::IfcMaterial; } Type::Enum IfcMaterial::Class() { return Type::IfcMaterial; } -IfcMaterial::IfcMaterial(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterial::IfcMaterial(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_Category) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Category) { e->setArgument(2,(*v3_Category)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterial::IfcMaterial(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterial::IfcMaterial(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Category) { e->setArgument(2,(*v3_Category)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialClassificationRelationship -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcMaterialClassificationRelationship::MaterialClassifications() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcMaterialClassificationRelationship::setMaterialClassifications(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcMaterialClassificationRelationship::setClassifiedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::type() const { return Type::IfcMaterialClassificationRelationship; } Type::Enum IfcMaterialClassificationRelationship::Class() { return Type::IfcMaterialClassificationRelationship; } -IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialClassificationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntities 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); } +IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialClassificationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialConstituent::Name() { return *entity->getArgument(0); } +bool IfcMaterialConstituent::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcMaterialConstituent::Name() const { return *entity->getArgument(0); } void IfcMaterialConstituent::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialConstituent::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialConstituent::Description() { return *entity->getArgument(1); } +bool IfcMaterialConstituent::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcMaterialConstituent::Description() const { return *entity->getArgument(1); } void IfcMaterialConstituent::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcMaterial* IfcMaterialConstituent::Material() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -IfcNormalisedRatioMeasure IfcMaterialConstituent::Fraction() { return *entity->getArgument(3); } +bool IfcMaterialConstituent::hasFraction() const { return !entity->getArgument(3)->isNull(); } +IfcNormalisedRatioMeasure IfcMaterialConstituent::Fraction() const { return *entity->getArgument(3); } void IfcMaterialConstituent::setFraction(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialConstituent::hasCategory() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcMaterialConstituent::Category() { return *entity->getArgument(4); } +bool IfcMaterialConstituent::hasCategory() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcMaterialConstituent::Category() const { return *entity->getArgument(4); } void IfcMaterialConstituent::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcMaterialConstituentSet::list IfcMaterialConstituent::ToMaterialConstituentSet() { RETURN_INVERSE(IfcMaterialConstituentSet) } +IfcMaterialConstituentSet::list::ptr IfcMaterialConstituent::ToMaterialConstituentSet() const { return entity->getInverse(Type::IfcMaterialConstituentSet)->as(); } bool IfcMaterialConstituent::is(Type::Enum v) const { return v == Type::IfcMaterialConstituent || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialConstituent::type() const { return Type::IfcMaterialConstituent; } Type::Enum IfcMaterialConstituent::Class() { return Type::IfcMaterialConstituent; } -IfcMaterialConstituent::IfcMaterialConstituent(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialConstituent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, boost::optional< IfcNormalisedRatioMeasure > v4_Fraction, boost::optional< IfcLabel > v5_Category) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); if (v4_Fraction) { e->setArgument(3,(*v4_Fraction)); } else { e->setArgument(3); } if (v5_Category) { e->setArgument(4,(*v5_Category)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialConstituent::IfcMaterialConstituent(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialConstituent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, boost::optional< IfcNormalisedRatioMeasure > v4_Fraction, boost::optional< IfcLabel > v5_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); if (v4_Fraction) { e->setArgument(3,(*v4_Fraction)); } else { e->setArgument(3); } if (v5_Category) { e->setArgument(4,(*v5_Category)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialConstituentSet -bool IfcMaterialConstituentSet::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialConstituentSet::Name() { return *entity->getArgument(0); } +bool IfcMaterialConstituentSet::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcMaterialConstituentSet::Name() const { return *entity->getArgument(0); } void IfcMaterialConstituentSet::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialConstituentSet::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialConstituentSet::Description() { return *entity->getArgument(1); } +bool IfcMaterialConstituentSet::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcMaterialConstituentSet::Description() const { return *entity->getArgument(1); } void IfcMaterialConstituentSet::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialConstituentSet::hasMaterialConstituents() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > IfcMaterialConstituentSet::MaterialConstituents() { RETURN_AS_LIST(IfcMaterialConstituent,2) } -void IfcMaterialConstituentSet::setMaterialConstituents(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } 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; } -IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialConstituentSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > > v3_MaterialConstituents) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_MaterialConstituents) { e->setArgument(2,(*v3_MaterialConstituents)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialConstituentSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_MaterialConstituents) { e->setArgument(2,(*v3_MaterialConstituents)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialDefinition -IfcRelAssociatesMaterial::list IfcMaterialDefinition::AssociatedTo() { RETURN_INVERSE(IfcRelAssociatesMaterial) } -IfcExternalReferenceRelationship::list IfcMaterialDefinition::HasExternalReferences() { RETURN_INVERSE(IfcExternalReferenceRelationship) } -IfcMaterialProperties::list IfcMaterialDefinition::HasProperties() { RETURN_INVERSE(IfcMaterialProperties) } +IfcRelAssociatesMaterial::list::ptr IfcMaterialDefinition::AssociatedTo() const { return entity->getInverse(Type::IfcRelAssociatesMaterial)->as(); } +IfcExternalReferenceRelationship::list::ptr IfcMaterialDefinition::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } +IfcMaterialProperties::list::ptr IfcMaterialDefinition::HasProperties() const { return entity->getInverse(Type::IfcMaterialProperties)->as(); } bool IfcMaterialDefinition::is(Type::Enum v) const { return v == Type::IfcMaterialDefinition; } Type::Enum IfcMaterialDefinition::type() const { return Type::IfcMaterialDefinition; } Type::Enum IfcMaterialDefinition::Class() { return Type::IfcMaterialDefinition; } -IfcMaterialDefinition::IfcMaterialDefinition(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialDefinition::IfcMaterialDefinition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialDefinitionRepresentation -IfcMaterial* IfcMaterialDefinitionRepresentation::RepresentedMaterial() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbstractEntityPtr e) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialDefinitionRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } +IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialDefinitionRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayer -bool IfcMaterialLayer::hasMaterial() { return !entity->getArgument(0)->isNull(); } -IfcMaterial* IfcMaterialLayer::Material() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +bool IfcMaterialLayer::hasMaterial() const { return !entity->getArgument(0)->isNull(); } +IfcMaterial* IfcMaterialLayer::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcMaterialLayer::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcNonNegativeLengthMeasure IfcMaterialLayer::LayerThickness() { return *entity->getArgument(1); } +IfcNonNegativeLengthMeasure IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } void IfcMaterialLayer::setLayerThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialLayer::hasIsVentilated() { return !entity->getArgument(2)->isNull(); } -IfcLogical IfcMaterialLayer::IsVentilated() { return *entity->getArgument(2); } +bool IfcMaterialLayer::hasIsVentilated() const { return !entity->getArgument(2)->isNull(); } +IfcLogical IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } void IfcMaterialLayer::setIsVentilated(IfcLogical v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcMaterialLayer::hasName() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcMaterialLayer::Name() { return *entity->getArgument(3); } +bool IfcMaterialLayer::hasName() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcMaterialLayer::Name() const { return *entity->getArgument(3); } void IfcMaterialLayer::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialLayer::hasDescription() { return !entity->getArgument(4)->isNull(); } -IfcText IfcMaterialLayer::Description() { return *entity->getArgument(4); } +bool IfcMaterialLayer::hasDescription() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcMaterialLayer::Description() const { return *entity->getArgument(4); } void IfcMaterialLayer::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMaterialLayer::hasCategory() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcMaterialLayer::Category() { return *entity->getArgument(5); } +bool IfcMaterialLayer::hasCategory() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcMaterialLayer::Category() const { return *entity->getArgument(5); } void IfcMaterialLayer::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcMaterialLayer::hasPriority() { return !entity->getArgument(6)->isNull(); } -IfcNormalisedRatioMeasure IfcMaterialLayer::Priority() { return *entity->getArgument(6); } +bool IfcMaterialLayer::hasPriority() const { return !entity->getArgument(6)->isNull(); } +IfcNormalisedRatioMeasure IfcMaterialLayer::Priority() const { return *entity->getArgument(6); } void IfcMaterialLayer::setPriority(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcMaterialLayerSet::list IfcMaterialLayer::ToMaterialLayerSet() { RETURN_INVERSE(IfcMaterialLayerSet) } +IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return entity->getInverse(Type::IfcMaterialLayerSet)->as(); } bool IfcMaterialLayer::is(Type::Enum v) const { return v == Type::IfcMaterialLayer || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } -IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority) : IfcMaterialDefinition((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSet -SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > IfcMaterialLayerSet::MaterialLayers() { RETURN_AS_LIST(IfcMaterialLayer,0) } -void IfcMaterialLayerSet::setMaterialLayers(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcMaterialLayerSet::hasLayerSetName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcMaterialLayerSet::LayerSetName() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcMaterialLayer >::ptr IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +bool IfcMaterialLayerSet::hasLayerSetName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } void IfcMaterialLayerSet::setLayerSetName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialLayerSet::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcMaterialLayerSet::Description() { return *entity->getArgument(2); } +bool IfcMaterialLayerSet::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcMaterialLayerSet::Description() const { return *entity->getArgument(2); } void IfcMaterialLayerSet::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialLayerSet::type() const { return Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::Class() { return Type::IfcMaterialLayerSet; } -IfcMaterialLayerSet::IfcMaterialLayerSet(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSet::IfcMaterialLayerSet(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName, boost::optional< IfcText > v3_Description) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSet::IfcMaterialLayerSet(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName, boost::optional< IfcText > v3_Description) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSetUsage -IfcMaterialLayerSet* IfcMaterialLayerSetUsage::ForLayerSet() { return (IfcMaterialLayerSet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerSetUsage::LayerSetDirection() { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(1)); } +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)); } -IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } +IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() const { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } void IfcMaterialLayerSetUsage::setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcDirectionSenseEnum::ToString(v)); } -IfcLengthMeasure IfcMaterialLayerSetUsage::OffsetFromReferenceLine() { return *entity->getArgument(3); } +IfcLengthMeasure IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcMaterialLayerSetUsage::hasReferenceExtent() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcMaterialLayerSetUsage::ReferenceExtent() { return *entity->getArgument(4); } +bool IfcMaterialLayerSetUsage::hasReferenceExtent() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcMaterialLayerSetUsage::ReferenceExtent() const { return *entity->getArgument(4); } void IfcMaterialLayerSetUsage::setReferenceExtent(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialLayerSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSetUsage || IfcMaterialUsageDefinition::is(v); } Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } -IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntityPtr e) : IfcMaterialUsageDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine, boost::optional< IfcPositiveLengthMeasure > v5_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) { e->setArgument(4,(*v5_ReferenceExtent)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntity* e) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine, boost::optional< IfcPositiveLengthMeasure > v5_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) { e->setArgument(4,(*v5_ReferenceExtent)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerWithOffsets -IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerWithOffsets::OffsetDirection() { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(7)); } +IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerWithOffsets::OffsetDirection() const { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(7)); } void IfcMaterialLayerWithOffsets::setOffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcLayerSetDirectionEnum::ToString(v)); } -std::vector< IfcLengthMeasure > /*[1:2]*/ IfcMaterialLayerWithOffsets::OffsetValues() { return *entity->getArgument(8); } +std::vector< IfcLengthMeasure > /*[1:2]*/ IfcMaterialLayerWithOffsets::OffsetValues() const { return *entity->getArgument(8); } void IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcMaterialLayer((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< IfcLengthMeasure > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcMaterialLayer((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< IfcLengthMeasure > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } e->setArgument(7,v8_OffsetDirection,IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection)); e->setArgument(8,(v9_OffsetValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialList -SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > IfcMaterialList::Materials() { RETURN_AS_LIST(IfcMaterial,0) } -void IfcMaterialList::setMaterials(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcMaterialList::IfcMaterialList(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialList::IfcMaterialList(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v1_Materials) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Materials)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcMaterialList::IfcMaterialList(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialProfile::Name() { return *entity->getArgument(0); } +bool IfcMaterialProfile::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcMaterialProfile::Name() const { return *entity->getArgument(0); } void IfcMaterialProfile::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialProfile::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialProfile::Description() { return *entity->getArgument(1); } +bool IfcMaterialProfile::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcMaterialProfile::Description() const { return *entity->getArgument(1); } void IfcMaterialProfile::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialProfile::hasMaterial() { return !entity->getArgument(2)->isNull(); } -IfcMaterial* IfcMaterialProfile::Material() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +bool IfcMaterialProfile::hasMaterial() const { return !entity->getArgument(2)->isNull(); } +IfcMaterial* IfcMaterialProfile::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcMaterialProfile::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcProfileDef* IfcMaterialProfile::Profile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcNormalisedRatioMeasure IfcMaterialProfile::Priority() { return *entity->getArgument(4); } +bool IfcMaterialProfile::hasPriority() const { return !entity->getArgument(4)->isNull(); } +IfcNormalisedRatioMeasure IfcMaterialProfile::Priority() const { return *entity->getArgument(4); } void IfcMaterialProfile::setPriority(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcMaterialProfile::hasCategory() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcMaterialProfile::Category() { return *entity->getArgument(5); } +bool IfcMaterialProfile::hasCategory() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcMaterialProfile::Category() const { return *entity->getArgument(5); } void IfcMaterialProfile::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcMaterialProfileSet::list IfcMaterialProfile::ToMaterialProfileSet() { RETURN_INVERSE(IfcMaterialProfileSet) } +IfcMaterialProfileSet::list::ptr IfcMaterialProfile::ToMaterialProfileSet() const { return entity->getInverse(Type::IfcMaterialProfileSet)->as(); } bool IfcMaterialProfile::is(Type::Enum v) const { return v == Type::IfcMaterialProfile || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialProfile::type() const { return Type::IfcMaterialProfile; } Type::Enum IfcMaterialProfile::Class() { return Type::IfcMaterialProfile; } -IfcMaterialProfile::IfcMaterialProfile(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfile::IfcMaterialProfile(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category) : IfcMaterialDefinition((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProfile::IfcMaterialProfile(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSet -bool IfcMaterialProfileSet::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialProfileSet::Name() { return *entity->getArgument(0); } +bool IfcMaterialProfileSet::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcMaterialProfileSet::Name() const { return *entity->getArgument(0); } void IfcMaterialProfileSet::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcMaterialProfileSet::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialProfileSet::Description() { return *entity->getArgument(1); } +bool IfcMaterialProfileSet::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcMaterialProfileSet::Description() const { return *entity->getArgument(1); } void IfcMaterialProfileSet::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > IfcMaterialProfileSet::MaterialProfiles() { RETURN_AS_LIST(IfcMaterialProfile,2) } -void IfcMaterialProfileSet::setMaterialProfiles(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcMaterialProfileSet::hasCompositeProfile() { return !entity->getArgument(3)->isNull(); } -IfcCompositeProfileDef* IfcMaterialProfileSet::CompositeProfile() { return (IfcCompositeProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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(IfcAbstractEntityPtr e) : IfcMaterialDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_MaterialProfiles)->generalize()); e->setArgument(3,(v4_CompositeProfile)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSetUsage -IfcMaterialProfileSet* IfcMaterialProfileSetUsage::ForProfileSet() { return (IfcMaterialProfileSet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcCardinalPointReference IfcMaterialProfileSetUsage::CardinalPoint() { return *entity->getArgument(1); } +bool IfcMaterialProfileSetUsage::hasCardinalPoint() const { return !entity->getArgument(1)->isNull(); } +IfcCardinalPointReference IfcMaterialProfileSetUsage::CardinalPoint() const { return *entity->getArgument(1); } void IfcMaterialProfileSetUsage::setCardinalPoint(IfcCardinalPointReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcMaterialProfileSetUsage::hasReferenceExtent() { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcMaterialProfileSetUsage::ReferenceExtent() { return *entity->getArgument(2); } +bool IfcMaterialProfileSetUsage::hasReferenceExtent() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveLengthMeasure IfcMaterialProfileSetUsage::ReferenceExtent() const { return *entity->getArgument(2); } void IfcMaterialProfileSetUsage::setReferenceExtent(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMaterialProfileSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSetUsage || IfcMaterialUsageDefinition::is(v); } Type::Enum IfcMaterialProfileSetUsage::type() const { return Type::IfcMaterialProfileSetUsage; } Type::Enum IfcMaterialProfileSetUsage::Class() { return Type::IfcMaterialProfileSetUsage; } -IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcAbstractEntityPtr e) : IfcMaterialUsageDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcAbstractEntity* e) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSetUsageTapering -IfcMaterialProfileSet* IfcMaterialProfileSetUsageTapering::ForProfileEndSet() { return (IfcMaterialProfileSet*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcCardinalPointReference IfcMaterialProfileSetUsageTapering::CardinalEndPoint() { return *entity->getArgument(4); } +bool IfcMaterialProfileSetUsageTapering::hasCardinalEndPoint() const { return !entity->getArgument(4)->isNull(); } +IfcCardinalPointReference IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { return *entity->getArgument(4); } void IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(IfcCardinalPointReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialProfileSetUsageTapering::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSetUsageTapering || IfcMaterialProfileSetUsage::is(v); } Type::Enum IfcMaterialProfileSetUsageTapering::type() const { return Type::IfcMaterialProfileSetUsageTapering; } Type::Enum IfcMaterialProfileSetUsageTapering::Class() { return Type::IfcMaterialProfileSetUsageTapering; } -IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcAbstractEntityPtr e) : IfcMaterialProfileSetUsage((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSetUsageTapering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< IfcCardinalPointReference > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } e->setArgument(3,(v4_ForProfileEndSet)); if (v5_CardinalEndPoint) { e->setArgument(4,(*v5_CardinalEndPoint)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcAbstractEntity* e) : IfcMaterialProfileSetUsage((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSetUsageTapering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< IfcCardinalPointReference > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } e->setArgument(3,(v4_ForProfileEndSet)); if (v5_CardinalEndPoint) { e->setArgument(4,(*v5_CardinalEndPoint)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< IfcLengthMeasure > /*[1:2]*/ IfcMaterialProfileWithOffsets::OffsetValues() { return *entity->getArgument(6); } +std::vector< IfcLengthMeasure > /*[1:2]*/ IfcMaterialProfileWithOffsets::OffsetValues() const { return *entity->getArgument(6); } void IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcMaterialProfile((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category, std::vector< IfcLengthMeasure > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcMaterialProfile((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category, std::vector< IfcLengthMeasure > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } e->setArgument(6,(v7_OffsetValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProperties -IfcMaterialDefinition* IfcMaterialProperties::Material() { return (IfcMaterialDefinition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcMaterialProperties::IfcMaterialProperties(IfcAbstractEntityPtr e) : IfcExtendedProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProperties::IfcMaterialProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v3_Properties, IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_Material)); entity = e; EntityBuffer::Add(this); } +IfcMaterialProperties::IfcMaterialProperties(IfcAbstractEntity* e) : IfcExtendedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialProperties::IfcMaterialProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_Material)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialRelationship -IfcMaterial* IfcMaterialRelationship::RelatingMaterial() { return (IfcMaterial*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > IfcMaterialRelationship::RelatedMaterials() { RETURN_AS_LIST(IfcMaterial,3) } -void IfcMaterialRelationship::setRelatedMaterials(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcMaterialRelationship::hasExpression() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcMaterialRelationship::Expression() { return *entity->getArgument(4); } +IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialRelationship::RelatedMaterials() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcMaterialRelationship::setRelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +bool IfcMaterialRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcMaterialRelationship::Expression() const { return *entity->getArgument(4); } void IfcMaterialRelationship::setExpression(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcMaterialRelationship::type() const { return Type::IfcMaterialRelationship; } Type::Enum IfcMaterialRelationship::Class() { return Type::IfcMaterialRelationship; } -IfcMaterialRelationship::IfcMaterialRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMaterialRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_RelatingMaterial, SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v4_RelatedMaterials, boost::optional< IfcLabel > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMaterial)); e->setArgument(3,(v4_RelatedMaterials)->generalize()); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialRelationship::IfcMaterialRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< IfcLabel > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMaterial)); e->setArgument(3,(v4_RelatedMaterials)->generalize()); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialUsageDefinition -IfcRelAssociatesMaterial::list IfcMaterialUsageDefinition::AssociatedTo() { RETURN_INVERSE(IfcRelAssociatesMaterial) } +IfcRelAssociatesMaterial::list::ptr IfcMaterialUsageDefinition::AssociatedTo() const { return entity->getInverse(Type::IfcRelAssociatesMaterial)->as(); } bool IfcMaterialUsageDefinition::is(Type::Enum v) const { return v == Type::IfcMaterialUsageDefinition; } Type::Enum IfcMaterialUsageDefinition::type() const { return Type::IfcMaterialUsageDefinition; } Type::Enum IfcMaterialUsageDefinition::Class() { return Type::IfcMaterialUsageDefinition; } -IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialUsageDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialUsageDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMeasureWithUnit -IfcValue IfcMeasureWithUnit::ValueComponent() { return *entity->getArgument(0); } +IfcValue IfcMeasureWithUnit::ValueComponent() const { return *entity->getArgument(0); } void IfcMeasureWithUnit::setValueComponent(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcUnit IfcMeasureWithUnit::UnitComponent() { return *entity->getArgument(1); } +IfcUnit IfcMeasureWithUnit::UnitComponent() const { return *entity->getArgument(1); } void IfcMeasureWithUnit::setUnitComponent(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMeasureWithUnit::is(Type::Enum v) const { return v == Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::type() const { return Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::Class() { return Type::IfcMeasureWithUnit; } -IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMeasureWithUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMeasureWithUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastener -bool IfcMechanicalFastener::hasNominalDiameter() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalDiameter() { return *entity->getArgument(8); } +bool IfcMechanicalFastener::hasNominalDiameter() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } void IfcMechanicalFastener::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcMechanicalFastener::hasNominalLength() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalLength() { return *entity->getArgument(9); } +bool IfcMechanicalFastener::hasNominalLength() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } void IfcMechanicalFastener::setNominalLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMechanicalFastener::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum IfcMechanicalFastener::PredefinedType() { return IfcMechanicalFastenerTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastener::IfcMechanicalFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalFastener::IfcMechanicalFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastenerType -IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum IfcMechanicalFastenerType::PredefinedType() { return IfcMechanicalFastenerTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastenerType::NominalDiameter() { return *entity->getArgument(10); } +bool IfcMechanicalFastenerType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalFastenerType::NominalDiameter() const { return *entity->getArgument(10); } void IfcMechanicalFastenerType::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcMechanicalFastenerType::hasNominalLength() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastenerType::NominalLength() { return *entity->getArgument(11); } +bool IfcMechanicalFastenerType::hasNominalLength() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcMechanicalFastenerType::NominalLength() const { return *entity->getArgument(11); } void IfcMechanicalFastenerType::setNominalLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } 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(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v12_NominalLength) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v12_NominalLength) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_NominalLength) { e->setArgument(11,(*v12_NominalLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMedicalDevice -bool IfcMedicalDevice::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum IfcMedicalDevice::PredefinedType() { return IfcMedicalDeviceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMedicalDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMedicalDevice::IfcMedicalDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMedicalDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMedicalDevice::IfcMedicalDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMedicalDeviceType -IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum IfcMedicalDeviceType::PredefinedType() { return IfcMedicalDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMedicalDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMedicalDeviceType::IfcMedicalDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMedicalDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMedicalDeviceType::IfcMedicalDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMember -bool IfcMember::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcMemberTypeEnum::IfcMemberTypeEnum IfcMember::PredefinedType() { return IfcMemberTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMember::IfcMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMember::IfcMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMemberStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberStandardCase::IfcMemberStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMemberStandardCase::IfcMemberStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberType -IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberType::PredefinedType() { return IfcMemberTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberType::IfcMemberType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMemberType::IfcMemberType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMetric -IfcBenchmarkEnum::IfcBenchmarkEnum IfcMetric::Benchmark() { return IfcBenchmarkEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcMetric::ValueSource() { return *entity->getArgument(8); } +bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcMetric::ValueSource() const { return *entity->getArgument(8); } void IfcMetric::setValueSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcMetricValueSelect IfcMetric::DataValue() { return *entity->getArgument(9); } +IfcMetricValueSelect IfcMetric::DataValue() const { return *entity->getArgument(9); } void IfcMetric::setDataValue(IfcMetricValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcMetric::hasReferencePath() { return !entity->getArgument(10)->isNull(); } -IfcReference* IfcMetric::ReferencePath() { return (IfcReference*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcConstraint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMetric::IfcMetric(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue, IfcReference* v11_ReferencePath) : IfcConstraint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); e->setArgument(10,(v11_ReferencePath)); entity = e; EntityBuffer::Add(this); } +IfcMetric::IfcMetric(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMetric::IfcMetric(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue, IfcReference* v11_ReferencePath) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); e->setArgument(10,(v11_ReferencePath)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMirroredProfileDef bool IfcMirroredProfileDef::is(Type::Enum v) const { return v == Type::IfcMirroredProfileDef || IfcDerivedProfileDef::is(v); } Type::Enum IfcMirroredProfileDef::type() const { return Type::IfcMirroredProfileDef; } Type::Enum IfcMirroredProfileDef::Class() { return Type::IfcMirroredProfileDef; } -IfcMirroredProfileDef::IfcMirroredProfileDef(IfcAbstractEntityPtr e) : IfcDerivedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMirroredProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMirroredProfileDef::IfcMirroredProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< IfcLabel > v5_Label) : IfcDerivedProfileDef((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgumentDerived(3); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMirroredProfileDef::IfcMirroredProfileDef(IfcAbstractEntity* e) : IfcDerivedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMirroredProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMirroredProfileDef::IfcMirroredProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< IfcLabel > v5_Label) : IfcDerivedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgumentDerived(3); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMonetaryUnit -IfcLabel IfcMonetaryUnit::Currency() { return *entity->getArgument(0); } +IfcLabel IfcMonetaryUnit::Currency() const { return *entity->getArgument(0); } void IfcMonetaryUnit::setCurrency(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMonetaryUnit::is(Type::Enum v) const { return v == Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::type() const { return Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::Class() { return Type::IfcMonetaryUnit; } -IfcMonetaryUnit::IfcMonetaryUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMonetaryUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMonetaryUnit::IfcMonetaryUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMonetaryUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcMonetaryUnit::IfcMonetaryUnit(IfcLabel v1_Currency) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Currency)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnection -bool IfcMotorConnection::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnection::PredefinedType() { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMotorConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnection::IfcMotorConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMotorConnection::IfcMotorConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMotorConnectionTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnectionType -IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnectionType::PredefinedType() { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnectionType::IfcMotorConnectionType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcMotorConnectionType::IfcMotorConnectionType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcNamedUnit -IfcDimensionalExponents* IfcNamedUnit::Dimensions() { return (IfcDimensionalExponents*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcUnitEnum::IfcUnitEnum IfcNamedUnit::UnitType() { return IfcUnitEnum::FromString(*entity->getArgument(1)); } +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)); } 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; } -IfcNamedUnit::IfcNamedUnit(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcNamedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcNamedUnit::IfcNamedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcNamedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } 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() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcObject::ObjectType() { return *entity->getArgument(4); } +bool IfcObject::hasObjectType() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcObject::ObjectType() const { return *entity->getArgument(4); } void IfcObject::setObjectType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcRelDefinesByObject::list IfcObject::IsDeclaredBy() { RETURN_INVERSE(IfcRelDefinesByObject) } -IfcRelDefinesByObject::list IfcObject::Declares() { RETURN_INVERSE(IfcRelDefinesByObject) } -IfcRelDefinesByType::list IfcObject::IsTypedBy() { RETURN_INVERSE(IfcRelDefinesByType) } -IfcRelDefinesByProperties::list IfcObject::IsDefinedBy() { RETURN_INVERSE(IfcRelDefinesByProperties) } +IfcRelDefinesByObject::list::ptr IfcObject::IsDeclaredBy() const { return entity->getInverse(Type::IfcRelDefinesByObject)->as(); } +IfcRelDefinesByObject::list::ptr IfcObject::Declares() const { return entity->getInverse(Type::IfcRelDefinesByObject)->as(); } +IfcRelDefinesByType::list::ptr IfcObject::IsTypedBy() const { return entity->getInverse(Type::IfcRelDefinesByType)->as(); } +IfcRelDefinesByProperties::list::ptr IfcObject::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefinesByProperties)->as(); } bool IfcObject::is(Type::Enum v) const { return v == Type::IfcObject || IfcObjectDefinition::is(v); } Type::Enum IfcObject::type() const { return Type::IfcObject; } Type::Enum IfcObject::Class() { return Type::IfcObject; } -IfcObject::IfcObject(IfcAbstractEntityPtr e) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObject::IfcObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } 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(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObject::IfcObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectDefinition -IfcRelAssigns::list IfcObjectDefinition::HasAssignments() { RETURN_INVERSE(IfcRelAssigns) } -IfcRelNests::list IfcObjectDefinition::Nests() { RETURN_INVERSE(IfcRelNests) } -IfcRelNests::list IfcObjectDefinition::IsNestedBy() { RETURN_INVERSE(IfcRelNests) } -IfcRelDeclares::list IfcObjectDefinition::HasContext() { RETURN_INVERSE(IfcRelDeclares) } -IfcRelAggregates::list IfcObjectDefinition::IsDecomposedBy() { RETURN_INVERSE(IfcRelAggregates) } -IfcRelAggregates::list IfcObjectDefinition::Decomposes() { RETURN_INVERSE(IfcRelAggregates) } -IfcRelAssociates::list IfcObjectDefinition::HasAssociations() { RETURN_INVERSE(IfcRelAssociates) } +IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return entity->getInverse(Type::IfcRelAssigns)->as(); } +IfcRelNests::list::ptr IfcObjectDefinition::Nests() const { return entity->getInverse(Type::IfcRelNests)->as(); } +IfcRelNests::list::ptr IfcObjectDefinition::IsNestedBy() const { return entity->getInverse(Type::IfcRelNests)->as(); } +IfcRelDeclares::list::ptr IfcObjectDefinition::HasContext() const { return entity->getInverse(Type::IfcRelDeclares)->as(); } +IfcRelAggregates::list::ptr IfcObjectDefinition::IsDecomposedBy() const { return entity->getInverse(Type::IfcRelAggregates)->as(); } +IfcRelAggregates::list::ptr IfcObjectDefinition::Decomposes() const { return entity->getInverse(Type::IfcRelAggregates)->as(); } +IfcRelAssociates::list::ptr IfcObjectDefinition::HasAssociations() const { return entity->getInverse(Type::IfcRelAssociates)->as(); } bool IfcObjectDefinition::is(Type::Enum v) const { return v == Type::IfcObjectDefinition || IfcRoot::is(v); } Type::Enum IfcObjectDefinition::type() const { return Type::IfcObjectDefinition; } Type::Enum IfcObjectDefinition::Class() { return Type::IfcObjectDefinition; } -IfcObjectDefinition::IfcObjectDefinition(IfcAbstractEntityPtr e) : IfcRoot((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjectDefinition::IfcObjectDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObjectDefinition::IfcObjectDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectPlacement -IfcProduct::list IfcObjectPlacement::PlacesObject() { RETURN_INVERSE(IfcProduct) } -IfcLocalPlacement::list IfcObjectPlacement::ReferencedByPlacements() { RETURN_INVERSE(IfcLocalPlacement) } +IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return entity->getInverse(Type::IfcProduct)->as(); } +IfcLocalPlacement::list::ptr IfcObjectPlacement::ReferencedByPlacements() const { return entity->getInverse(Type::IfcLocalPlacement)->as(); } bool IfcObjectPlacement::is(Type::Enum v) const { return v == Type::IfcObjectPlacement; } Type::Enum IfcObjectPlacement::type() const { return Type::IfcObjectPlacement; } Type::Enum IfcObjectPlacement::Class() { return Type::IfcObjectPlacement; } -IfcObjectPlacement::IfcObjectPlacement(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcObjectPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObjectPlacement::IfcObjectPlacement(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcObjectPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjective -bool IfcObjective::hasBenchmarkValues() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > IfcObjective::BenchmarkValues() { RETURN_AS_LIST(IfcConstraint,7) } -void IfcObjective::setBenchmarkValues(SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcObjective::hasLogicalAggregator() { return !entity->getArgument(8)->isNull(); } -IfcLogicalOperatorEnum::IfcLogicalOperatorEnum IfcObjective::LogicalAggregator() { return IfcLogicalOperatorEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcObjectiveEnum::IfcObjectiveEnum IfcObjective::ObjectiveQualifier() { return IfcObjectiveEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcObjective::UserDefinedQualifier() { return *entity->getArgument(10); } +bool IfcObjective::hasUserDefinedQualifier() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } void IfcObjective::setUserDefinedQualifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcConstraint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjective::IfcObjective(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)->generalize()); } else { e->setArgument(7); } if (v9_LogicalAggregator) { e->setArgument(8,*v9_LogicalAggregator,IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcObjective::IfcObjective(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcObjective::IfcObjective(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)->generalize()); } else { e->setArgument(7); } if (v9_LogicalAggregator) { e->setArgument(8,*v9_LogicalAggregator,IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOccupant -bool IfcOccupant::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcOccupantTypeEnum::IfcOccupantTypeEnum IfcOccupant::PredefinedType() { return IfcOccupantTypeEnum::FromString(*entity->getArgument(6)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcActor((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOccupant::IfcOccupant(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType) : IfcActor((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOccupant::IfcOccupant(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcOccupantTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve2D -IfcCurve* IfcOffsetCurve2D::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcOffsetCurve2D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve2D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve2D::Distance() { return *entity->getArgument(1); } +IfcLengthMeasure IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } void IfcOffsetCurve2D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOffsetCurve2D::SelfIntersect() { return *entity->getArgument(2); } +bool IfcOffsetCurve2D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve2D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOffsetCurve2D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve2D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve2D::type() const { return Type::IfcOffsetCurve2D; } Type::Enum IfcOffsetCurve2D::Class() { return Type::IfcOffsetCurve2D; } -IfcOffsetCurve2D::IfcOffsetCurve2D(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve2D::IfcOffsetCurve2D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve3D -IfcCurve* IfcOffsetCurve3D::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcOffsetCurve3D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve3D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve3D::Distance() { return *entity->getArgument(1); } +IfcLengthMeasure IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } void IfcOffsetCurve3D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOffsetCurve3D::SelfIntersect() { return *entity->getArgument(2); } +bool IfcOffsetCurve3D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve3D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDirection* IfcOffsetCurve3D::RefDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcOffsetCurve3D::IfcOffsetCurve3D(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve3D::IfcOffsetCurve3D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpenShell bool IfcOpenShell::is(Type::Enum v) const { return v == Type::IfcOpenShell || IfcConnectedFaceSet::is(v); } Type::Enum IfcOpenShell::type() const { return Type::IfcOpenShell; } Type::Enum IfcOpenShell::Class() { return Type::IfcOpenShell; } -IfcOpenShell::IfcOpenShell(IfcAbstractEntityPtr e) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOpenShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpenShell::IfcOpenShell(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces) : IfcConnectedFaceSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcOpenShell::IfcOpenShell(IfcAbstractEntity* e) : IfcConnectedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpenShell)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum IfcOpeningElement::PredefinedType() { return IfcOpeningElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcRelFillsElement::list IfcOpeningElement::HasFillings() { RETURN_INVERSE(IfcRelFillsElement) } +IfcRelFillsElement::list::ptr IfcOpeningElement::HasFillings() const { return entity->getInverse(Type::IfcRelFillsElement)->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(IfcAbstractEntityPtr e) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningElement::IfcOpeningElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOpeningElement::IfcOpeningElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcOpeningElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOpeningStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningStandardCase::IfcOpeningStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcOpeningElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcOpeningElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOpeningStandardCase::IfcOpeningStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcOpeningElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganization -bool IfcOrganization::hasIdentification() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcOrganization::Identification() { return *entity->getArgument(0); } +bool IfcOrganization::hasIdentification() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcOrganization::Identification() const { return *entity->getArgument(0); } void IfcOrganization::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcOrganization::Name() { return *entity->getArgument(1); } +IfcLabel IfcOrganization::Name() const { return *entity->getArgument(1); } void IfcOrganization::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcOrganization::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcOrganization::Description() { return *entity->getArgument(2); } +bool IfcOrganization::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcOrganization::Description() const { return *entity->getArgument(2); } void IfcOrganization::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcOrganization::hasRoles() { return !entity->getArgument(3)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,3) } -void IfcOrganization::setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcOrganization::hasAddresses() { return !entity->getArgument(4)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > IfcOrganization::Addresses() { RETURN_AS_LIST(IfcAddress,4) } -void IfcOrganization::setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcOrganizationRelationship::list IfcOrganization::IsRelatedBy() { RETURN_INVERSE(IfcOrganizationRelationship) } -IfcOrganizationRelationship::list IfcOrganization::Relates() { RETURN_INVERSE(IfcOrganizationRelationship) } -IfcPersonAndOrganization::list IfcOrganization::Engages() { RETURN_INVERSE(IfcPersonAndOrganization) } +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()); } +IfcOrganizationRelationship::list::ptr IfcOrganization::IsRelatedBy() const { return entity->getInverse(Type::IfcOrganizationRelationship)->as(); } +IfcOrganizationRelationship::list::ptr IfcOrganization::Relates() const { return entity->getInverse(Type::IfcOrganizationRelationship)->as(); } +IfcPersonAndOrganization::list::ptr IfcOrganization::Engages() const { return entity->getInverse(Type::IfcPersonAndOrganization)->as(); } bool IfcOrganization::is(Type::Enum v) const { return v == Type::IfcOrganization; } Type::Enum IfcOrganization::type() const { return Type::IfcOrganization; } Type::Enum IfcOrganization::Class() { return Type::IfcOrganization; } -IfcOrganization::IfcOrganization(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganization::IfcOrganization(boost::optional< IfcIdentifier > v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v4_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcOrganization::IfcOrganization(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrganization::IfcOrganization(boost::optional< IfcIdentifier > v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganizationRelationship -IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > IfcOrganizationRelationship::RelatedOrganizations() { RETURN_AS_LIST(IfcOrganization,3) } -void IfcOrganizationRelationship::setRelatedOrganizations(SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +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()); } 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; } -IfcOrganizationRelationship::IfcOrganizationRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOrganizationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcOrganizationRelationship::IfcOrganizationRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOrganizationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrientedEdge -IfcEdge* IfcOrientedEdge::EdgeElement() { return (IfcEdge*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -bool IfcOrientedEdge::Orientation() { return *entity->getArgument(3); } +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); } 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; } -IfcOrientedEdge::IfcOrientedEdge(IfcAbstractEntityPtr e) : IfcEdge((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOrientedEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrientedEdge::IfcOrientedEdge(IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgumentDerived(0); e->setArgumentDerived(1); e->setArgument(2,(v3_EdgeElement)); e->setArgument(3,(v4_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcOrientedEdge::IfcOrientedEdge(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOrientedEdge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOrientedEdge::IfcOrientedEdge(IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgumentDerived(0); e->setArgumentDerived(1); e->setArgument(2,(v3_EdgeElement)); e->setArgument(3,(v4_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOuterBoundaryCurve bool IfcOuterBoundaryCurve::is(Type::Enum v) const { return v == Type::IfcOuterBoundaryCurve || IfcBoundaryCurve::is(v); } Type::Enum IfcOuterBoundaryCurve::type() const { return Type::IfcOuterBoundaryCurve; } Type::Enum IfcOuterBoundaryCurve::Class() { return Type::IfcOuterBoundaryCurve; } -IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcAbstractEntityPtr e) : IfcBoundaryCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOuterBoundaryCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect) : IfcBoundaryCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcAbstractEntity* e) : IfcBoundaryCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOuterBoundaryCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutlet::PredefinedType() { return IfcOutletTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOutlet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutlet::IfcOutlet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutlet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOutlet::IfcOutlet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOutletTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOutletType -IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutletType::PredefinedType() { return IfcOutletTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutletType::IfcOutletType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOutletType::IfcOutletType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOwnerHistory -IfcPersonAndOrganization* IfcOwnerHistory::OwningUser() { return (IfcPersonAndOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcApplication* IfcOwnerHistory::OwningApplication() { return (IfcApplication*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcStateEnum::IfcStateEnum IfcOwnerHistory::State() { return IfcStateEnum::FromString(*entity->getArgument(2)); } +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() { return !entity->getArgument(3)->isNull(); } -IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } +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() { return !entity->getArgument(4)->isNull(); } -IfcTimeStamp IfcOwnerHistory::LastModifiedDate() { return *entity->getArgument(4); } +bool IfcOwnerHistory::hasLastModifiedDate() const { return !entity->getArgument(4)->isNull(); } +IfcTimeStamp IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } void IfcOwnerHistory::setLastModifiedDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcOwnerHistory::hasLastModifyingUser() { return !entity->getArgument(5)->isNull(); } -IfcPersonAndOrganization* IfcOwnerHistory::LastModifyingUser() { return (IfcPersonAndOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcApplication* IfcOwnerHistory::LastModifyingApplication() { return (IfcApplication*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +bool IfcOwnerHistory::hasLastModifyingApplication() const { return !entity->getArgument(6)->isNull(); } +IfcApplication* IfcOwnerHistory::LastModifyingApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcOwnerHistory::setLastModifyingApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcTimeStamp IfcOwnerHistory::CreationDate() { return *entity->getArgument(7); } +IfcTimeStamp IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } void IfcOwnerHistory::setCreationDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcOwnerHistory::IfcOwnerHistory(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } if (v4_ChangeAction) { e->setArgument(3,*v4_ChangeAction,IfcChangeActionEnum::ToString(*v4_ChangeAction)); } else { e->setArgument(3); } if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcParameterizedProfileDef -bool IfcParameterizedProfileDef::hasPosition() { return !entity->getArgument(2)->isNull(); } -IfcAxis2Placement2D* IfcParameterizedProfileDef::Position() { return (IfcAxis2Placement2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPath -SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > IfcPath::EdgeList() { RETURN_AS_LIST(IfcOrientedEdge,0) } -void IfcPath::setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcPath::IfcPath(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPath)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPath::IfcPath(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPath::IfcPath(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPath)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPath::IfcPath(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPcurve -IfcSurface* IfcPcurve::BasisSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcCurve* IfcPcurve::ReferenceCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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; } -IfcPcurve::IfcPcurve(IfcAbstractEntityPtr e) : IfcCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPcurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPcurve::IfcPcurve(IfcSurface* v1_BasisSurface, IfcCurve* v2_ReferenceCurve) : IfcCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_ReferenceCurve)); entity = e; EntityBuffer::Add(this); } +IfcPcurve::IfcPcurve(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPcurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPcurve::IfcPcurve(IfcSurface* v1_BasisSurface, IfcCurve* v2_ReferenceCurve) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_ReferenceCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerformanceHistory -IfcLabel IfcPerformanceHistory::LifeCyclePhase() { return *entity->getArgument(6); } +IfcLabel IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(6); } void IfcPerformanceHistory::setLifeCyclePhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPerformanceHistory::hasPredefinedType() { return !entity->getArgument(7)->isNull(); } -IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum IfcPerformanceHistory::PredefinedType() { return IfcPerformanceHistoryTypeEnum::FromString(*entity->getArgument(7)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerformanceHistory::IfcPerformanceHistory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcLabel v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPerformanceHistory::IfcPerformanceHistory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcLabel v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_LifeCyclePhase)); if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcPerformanceHistoryTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermeableCoveringProperties -IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringProperties::OperationType() { return IfcPermeableCoveringOperationEnum::FromString(*entity->getArgument(4)); } +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)); } -IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcPermeableCoveringProperties::PanelPosition() { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameDepth() { return *entity->getArgument(6); } +bool IfcPermeableCoveringProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } void IfcPermeableCoveringProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPermeableCoveringProperties::hasFrameThickness() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameThickness() { return *entity->getArgument(7); } +bool IfcPermeableCoveringProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } void IfcPermeableCoveringProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPermeableCoveringProperties::hasShapeAspectStyle() { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcPermeableCoveringProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermit -bool IfcPermit::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcPermitTypeEnum::IfcPermitTypeEnum IfcPermit::PredefinedType() { return IfcPermitTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcPermit::Status() { return *entity->getArgument(7); } +bool IfcPermit::hasStatus() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcPermit::Status() const { return *entity->getArgument(7); } void IfcPermit::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPermit::hasLongDescription() { return !entity->getArgument(8)->isNull(); } -IfcText IfcPermit::LongDescription() { return *entity->getArgument(8); } +bool IfcPermit::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } +IfcText IfcPermit::LongDescription() const { return *entity->getArgument(8); } void IfcPermit::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermit::IfcPermit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPermit::IfcPermit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcPermitTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerson -bool IfcPerson::hasIdentification() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcPerson::Identification() { return *entity->getArgument(0); } +bool IfcPerson::hasIdentification() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcPerson::Identification() const { return *entity->getArgument(0); } void IfcPerson::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPerson::hasFamilyName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcPerson::FamilyName() { return *entity->getArgument(1); } +bool IfcPerson::hasFamilyName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcPerson::FamilyName() const { return *entity->getArgument(1); } void IfcPerson::setFamilyName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcPerson::hasGivenName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPerson::GivenName() { return *entity->getArgument(2); } +bool IfcPerson::hasGivenName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcPerson::GivenName() const { return *entity->getArgument(2); } void IfcPerson::setGivenName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPerson::hasMiddleNames() { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() { return *entity->getArgument(3); } +bool IfcPerson::hasMiddleNames() const { return !entity->getArgument(3)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } void IfcPerson::setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPerson::hasPrefixTitles() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() { return *entity->getArgument(4); } +bool IfcPerson::hasPrefixTitles() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } void IfcPerson::setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPerson::hasSuffixTitles() { return !entity->getArgument(5)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() { return *entity->getArgument(5); } +bool IfcPerson::hasSuffixTitles() const { return !entity->getArgument(5)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } void IfcPerson::setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPerson::hasRoles() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcPerson::Roles() { RETURN_AS_LIST(IfcActorRole,6) } -void IfcPerson::setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcPerson::hasAddresses() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > IfcPerson::Addresses() { RETURN_AS_LIST(IfcAddress,7) } -void IfcPerson::setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -IfcPersonAndOrganization::list IfcPerson::EngagedIn() { RETURN_INVERSE(IfcPersonAndOrganization) } +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()); } +IfcPersonAndOrganization::list::ptr IfcPerson::EngagedIn() const { return entity->getInverse(Type::IfcPersonAndOrganization)->as(); } bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } Type::Enum IfcPerson::Class() { return Type::IfcPerson; } -IfcPerson::IfcPerson(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPerson)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerson::IfcPerson(boost::optional< IfcIdentifier > v1_Identification, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v7_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPerson::IfcPerson(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPerson)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPerson::IfcPerson(boost::optional< IfcIdentifier > v1_Identification, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPersonAndOrganization -IfcPerson* IfcPersonAndOrganization::ThePerson() { return (IfcPerson*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcOrganization* IfcPersonAndOrganization::TheOrganization() { return (IfcOrganization*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > IfcPersonAndOrganization::Roles() { RETURN_AS_LIST(IfcActorRole,2) } -void IfcPersonAndOrganization::setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } bool IfcPersonAndOrganization::is(Type::Enum v) const { return v == Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::type() const { return Type::IfcPersonAndOrganization; } Type::Enum IfcPersonAndOrganization::Class() { return Type::IfcPersonAndOrganization; } -IfcPersonAndOrganization::IfcPersonAndOrganization(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPersonAndOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v3_Roles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ThePerson)); e->setArgument(1,(v2_TheOrganization)); if (v3_Roles) { e->setArgument(2,(*v3_Roles)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcPersonAndOrganization::IfcPersonAndOrganization(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPersonAndOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ThePerson)); e->setArgument(1,(v2_TheOrganization)); if (v3_Roles) { e->setArgument(2,(*v3_Roles)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalComplexQuantity -SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > IfcPhysicalComplexQuantity::HasQuantities() { RETURN_AS_LIST(IfcPhysicalQuantity,2) } -void IfcPhysicalComplexQuantity::setHasQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -IfcLabel IfcPhysicalComplexQuantity::Discrimination() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcLabel IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } void IfcPhysicalComplexQuantity::setDiscrimination(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPhysicalComplexQuantity::hasQuality() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Quality() { return *entity->getArgument(4); } +bool IfcPhysicalComplexQuantity::hasQuality() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } void IfcPhysicalComplexQuantity::setQuality(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPhysicalComplexQuantity::hasUsage() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Usage() { return *entity->getArgument(5); } +bool IfcPhysicalComplexQuantity::hasUsage() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } void IfcPhysicalComplexQuantity::setUsage(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPhysicalComplexQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalComplexQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalComplexQuantity::type() const { return Type::IfcPhysicalComplexQuantity; } Type::Enum IfcPhysicalComplexQuantity::Class() { return Type::IfcPhysicalComplexQuantity; } -IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcAbstractEntityPtr e) : IfcPhysicalQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPhysicalComplexQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalComplexQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalQuantity -IfcLabel IfcPhysicalQuantity::Name() { return *entity->getArgument(0); } +IfcLabel IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } void IfcPhysicalQuantity::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPhysicalQuantity::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcPhysicalQuantity::Description() { return *entity->getArgument(1); } +bool IfcPhysicalQuantity::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } void IfcPhysicalQuantity::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcExternalReferenceRelationship::list IfcPhysicalQuantity::HasExternalReferences() { RETURN_INVERSE(IfcExternalReferenceRelationship) } -IfcPhysicalComplexQuantity::list IfcPhysicalQuantity::PartOfComplex() { RETURN_INVERSE(IfcPhysicalComplexQuantity) } +IfcExternalReferenceRelationship::list::ptr IfcPhysicalQuantity::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } +IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return entity->getInverse(Type::IfcPhysicalComplexQuantity)->as(); } bool IfcPhysicalQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::type() const { return Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::Class() { return Type::IfcPhysicalQuantity; } -IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPhysicalQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPhysicalQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPhysicalQuantity::IfcPhysicalQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalSimpleQuantity -bool IfcPhysicalSimpleQuantity::hasUnit() { return !entity->getArgument(2)->isNull(); } -IfcNamedUnit* IfcPhysicalSimpleQuantity::Unit() { return (IfcNamedUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPhysicalQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPile -bool IfcPile::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcPileTypeEnum::IfcPileTypeEnum IfcPile::PredefinedType() { return IfcPileTypeEnum::FromString(*entity->getArgument(8)); } +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() { return !entity->getArgument(9)->isNull(); } -IfcPileConstructionEnum::IfcPileConstructionEnum IfcPile::ConstructionType() { return IfcPileConstructionEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPile::IfcPile(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPile::IfcPile(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPileTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPileType -IfcPileTypeEnum::IfcPileTypeEnum IfcPileType::PredefinedType() { return IfcPileTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPileType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPileType::IfcPileType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPileType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPileType::IfcPileType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPileTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFitting -bool IfcPipeFitting::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFitting::PredefinedType() { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFitting((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPipeFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFitting::IfcPipeFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPipeFitting::IfcPipeFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFittingType -IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingType::PredefinedType() { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFittingType::IfcPipeFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPipeFittingType::IfcPipeFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegment -bool IfcPipeSegment::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegment::PredefinedType() { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPipeSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegment::IfcPipeSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPipeSegment::IfcPipeSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegmentType -IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentType::PredefinedType() { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegmentType::IfcPipeSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPipeSegmentType::IfcPipeSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPixelTexture -IfcInteger IfcPixelTexture::Width() { return *entity->getArgument(5); } +IfcInteger IfcPixelTexture::Width() const { return *entity->getArgument(5); } void IfcPixelTexture::setWidth(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcInteger IfcPixelTexture::Height() { return *entity->getArgument(6); } +IfcInteger IfcPixelTexture::Height() const { return *entity->getArgument(6); } void IfcPixelTexture::setHeight(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcInteger IfcPixelTexture::ColourComponents() { return *entity->getArgument(7); } +IfcInteger IfcPixelTexture::ColourComponents() const { return *entity->getArgument(7); } void IfcPixelTexture::setColourComponents(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcSurfaceTexture((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcInteger v6_Width, IfcInteger v7_Height, IfcInteger v8_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcInteger v6_Width, IfcInteger v7_Height, IfcInteger v8_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_Width)); e->setArgument(6,(v7_Height)); e->setArgument(7,(v8_ColourComponents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlacement -IfcCartesianPoint* IfcPlacement::Location() { return (IfcCartesianPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcPlacement::IfcPlacement(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); entity = e; EntityBuffer::Add(this); } +IfcPlacement::IfcPlacement(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarBox -IfcAxis2Placement IfcPlanarBox::Placement() { return *entity->getArgument(2); } +IfcAxis2Placement IfcPlanarBox::Placement() const { return *entity->getArgument(2); } void IfcPlanarBox::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPlanarBox::is(Type::Enum v) const { return v == Type::IfcPlanarBox || IfcPlanarExtent::is(v); } Type::Enum IfcPlanarBox::type() const { return Type::IfcPlanarBox; } Type::Enum IfcPlanarBox::Class() { return Type::IfcPlanarBox; } -IfcPlanarBox::IfcPlanarBox(IfcAbstractEntityPtr e) : IfcPlanarExtent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlanarBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarBox::IfcPlanarBox(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement) : IfcPlanarExtent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } +IfcPlanarBox::IfcPlanarBox(IfcAbstractEntity* e) : IfcPlanarExtent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlanarBox::IfcPlanarBox(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement) : IfcPlanarExtent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarExtent -IfcLengthMeasure IfcPlanarExtent::SizeInX() { return *entity->getArgument(0); } +IfcLengthMeasure IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } void IfcPlanarExtent::setSizeInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcPlanarExtent::SizeInY() { return *entity->getArgument(1); } +IfcLengthMeasure IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } void IfcPlanarExtent::setSizeInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPlanarExtent::is(Type::Enum v) const { return v == Type::IfcPlanarExtent || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlanarExtent::type() const { return Type::IfcPlanarExtent; } Type::Enum IfcPlanarExtent::Class() { return Type::IfcPlanarExtent; } -IfcPlanarExtent::IfcPlanarExtent(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlanarExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarExtent::IfcPlanarExtent(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } +IfcPlanarExtent::IfcPlanarExtent(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlanarExtent::IfcPlanarExtent(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlane bool IfcPlane::is(Type::Enum v) const { return v == Type::IfcPlane || IfcElementarySurface::is(v); } Type::Enum IfcPlane::type() const { return Type::IfcPlane; } Type::Enum IfcPlane::Class() { return Type::IfcPlane; } -IfcPlane::IfcPlane(IfcAbstractEntityPtr e) : IfcElementarySurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlane::IfcPlane(IfcAxis2Placement3D* v1_Position) : IfcElementarySurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcPlane::IfcPlane(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlane)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlate::PredefinedType() { return IfcPlateTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlate::IfcPlate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlate::IfcPlate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcPlate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlateStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateStandardCase::IfcPlateStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcPlate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcPlate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlateStandardCase::IfcPlateStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcPlate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateType -IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateType::PredefinedType() { return IfcPlateTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateType::IfcPlateType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPlateType::IfcPlateType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPoint bool IfcPoint::is(Type::Enum v) const { return v == Type::IfcPoint || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPoint::type() const { return Type::IfcPoint; } Type::Enum IfcPoint::Class() { return Type::IfcPoint; } -IfcPoint::IfcPoint(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcPoint::IfcPoint(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPointOnCurve -IfcCurve* IfcPointOnCurve::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcPointOnCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnCurve::PointParameter() { return *entity->getArgument(1); } +IfcParameterValue IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } void IfcPointOnCurve::setPointParameter(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPointOnCurve::is(Type::Enum v) const { return v == Type::IfcPointOnCurve || IfcPoint::is(v); } Type::Enum IfcPointOnCurve::type() const { return Type::IfcPointOnCurve; } Type::Enum IfcPointOnCurve::Class() { return Type::IfcPointOnCurve; } -IfcPointOnCurve::IfcPointOnCurve(IfcAbstractEntityPtr e) : IfcPoint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPointOnCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter) : IfcPoint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } +IfcPointOnCurve::IfcPointOnCurve(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPointOnSurface -IfcSurface* IfcPointOnSurface::BasisSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcSurface* IfcPointOnSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnSurface::PointParameterU() { return *entity->getArgument(1); } +IfcParameterValue IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } void IfcPointOnSurface::setPointParameterU(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcPointOnSurface::PointParameterV() { return *entity->getArgument(2); } +IfcParameterValue IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } void IfcPointOnSurface::setPointParameterV(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPointOnSurface::is(Type::Enum v) const { return v == Type::IfcPointOnSurface || IfcPoint::is(v); } Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } -IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntityPtr e) : IfcPoint((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV) : IfcPoint((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } +IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolyLoop -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcPolyLoop::Polygon() { RETURN_AS_LIST(IfcCartesianPoint,0) } -void IfcPolyLoop::setPolygon(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcPolyLoop::IfcPolyLoop(IfcAbstractEntityPtr e) : IfcLoop((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPolyLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPolyLoop::IfcPolyLoop(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Polygon) : IfcLoop((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Polygon)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPolyLoop::IfcPolyLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolyLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPolyLoop::IfcPolyLoop(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Polygon)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolygonalBoundedHalfSpace -IfcAxis2Placement3D* IfcPolygonalBoundedHalfSpace::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcBoundedCurve* IfcPolygonalBoundedHalfSpace::PolygonalBoundary() { return (IfcBoundedCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcAbstractEntityPtr e) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPolygonalBoundedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_PolygonalBoundary)); entity = e; EntityBuffer::Add(this); } +IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcAbstractEntity* e) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolygonalBoundedHalfSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BaseSurface)); e->setArgument(1,(v2_AgreementFlag)); e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_PolygonalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolyline -SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > IfcPolyline::Points() { RETURN_AS_LIST(IfcCartesianPoint,0) } -void IfcPolyline::setPoints(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcPolyline::IfcPolyline(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPolyline)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPolyline::IfcPolyline(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Points) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPolyline::IfcPolyline(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPolyline)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPolyline::IfcPolyline(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPort -IfcRelConnectsPortToElement::list IfcPort::ContainedIn() { RETURN_INVERSE(IfcRelConnectsPortToElement) } -IfcRelConnectsPorts::list IfcPort::ConnectedFrom() { RETURN_INVERSE(IfcRelConnectsPorts) } -IfcRelConnectsPorts::list IfcPort::ConnectedTo() { RETURN_INVERSE(IfcRelConnectsPorts) } +IfcRelConnectsPortToElement::list::ptr IfcPort::ContainedIn() const { return entity->getInverse(Type::IfcRelConnectsPortToElement)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedFrom() const { return entity->getInverse(Type::IfcRelConnectsPorts)->as(); } +IfcRelConnectsPorts::list::ptr IfcPort::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsPorts)->as(); } bool IfcPort::is(Type::Enum v) const { return v == Type::IfcPort || IfcProduct::is(v); } Type::Enum IfcPort::type() const { return Type::IfcPort; } Type::Enum IfcPort::Class() { return Type::IfcPort; } -IfcPort::IfcPort(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPort::IfcPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPort::IfcPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPostalAddress -bool IfcPostalAddress::hasInternalLocation() { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcPostalAddress::InternalLocation() { return *entity->getArgument(3); } +bool IfcPostalAddress::hasInternalLocation() const { return !entity->getArgument(3)->isNull(); } +IfcLabel IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } void IfcPostalAddress::setInternalLocation(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPostalAddress::hasAddressLines() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() { return *entity->getArgument(4); } +bool IfcPostalAddress::hasAddressLines() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } void IfcPostalAddress::setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPostalAddress::hasPostalBox() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPostalAddress::PostalBox() { return *entity->getArgument(5); } +bool IfcPostalAddress::hasPostalBox() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } void IfcPostalAddress::setPostalBox(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPostalAddress::hasTown() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcPostalAddress::Town() { return *entity->getArgument(6); } +bool IfcPostalAddress::hasTown() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcPostalAddress::Town() const { return *entity->getArgument(6); } void IfcPostalAddress::setTown(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPostalAddress::hasRegion() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcPostalAddress::Region() { return *entity->getArgument(7); } +bool IfcPostalAddress::hasRegion() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcPostalAddress::Region() const { return *entity->getArgument(7); } void IfcPostalAddress::setRegion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcPostalAddress::hasPostalCode() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcPostalAddress::PostalCode() { return *entity->getArgument(8); } +bool IfcPostalAddress::hasPostalCode() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } void IfcPostalAddress::setPostalCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcPostalAddress::hasCountry() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcPostalAddress::Country() { return *entity->getArgument(9); } +bool IfcPostalAddress::hasCountry() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcPostalAddress::Country() const { return *entity->getArgument(9); } void IfcPostalAddress::setCountry(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcPostalAddress::is(Type::Enum v) const { return v == Type::IfcPostalAddress || IfcAddress::is(v); } Type::Enum IfcPostalAddress::type() const { return Type::IfcPostalAddress; } Type::Enum IfcPostalAddress::Class() { return Type::IfcPostalAddress; } -IfcPostalAddress::IfcPostalAddress(IfcAbstractEntityPtr e) : IfcAddress((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPostalAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country) : IfcAddress((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPostalAddress::IfcPostalAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPostalAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedColour bool IfcPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcPreDefinedColour || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedColour::type() const { return Type::IfcPreDefinedColour; } Type::Enum IfcPreDefinedColour::Class() { return Type::IfcPreDefinedColour; } -IfcPreDefinedColour::IfcPreDefinedColour(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedColour::IfcPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedColour::IfcPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedColour::IfcPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedCurveFont bool IfcPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedCurveFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedCurveFont::type() const { return Type::IfcPreDefinedCurveFont; } Type::Enum IfcPreDefinedCurveFont::Class() { return Type::IfcPreDefinedCurveFont; } -IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedItem -IfcLabel IfcPreDefinedItem::Name() { return *entity->getArgument(0); } +IfcLabel IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } void IfcPreDefinedItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPreDefinedItem::is(Type::Enum v) const { return v == Type::IfcPreDefinedItem || IfcPresentationItem::is(v); } Type::Enum IfcPreDefinedItem::type() const { return Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::Class() { return Type::IfcPreDefinedItem; } -IfcPreDefinedItem::IfcPreDefinedItem(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedItem::IfcPreDefinedItem(IfcLabel v1_Name) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedItem::IfcPreDefinedItem(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedItem::IfcPreDefinedItem(IfcLabel v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedProperties bool IfcPreDefinedProperties::is(Type::Enum v) const { return v == Type::IfcPreDefinedProperties || IfcPropertyAbstraction::is(v); } Type::Enum IfcPreDefinedProperties::type() const { return Type::IfcPreDefinedProperties; } Type::Enum IfcPreDefinedProperties::Class() { return Type::IfcPreDefinedProperties; } -IfcPreDefinedProperties::IfcPreDefinedProperties(IfcAbstractEntityPtr e) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedProperties::IfcPreDefinedProperties(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedPropertySet bool IfcPreDefinedPropertySet::is(Type::Enum v) const { return v == Type::IfcPreDefinedPropertySet || IfcPropertySetDefinition::is(v); } Type::Enum IfcPreDefinedPropertySet::type() const { return Type::IfcPreDefinedPropertySet; } Type::Enum IfcPreDefinedPropertySet::Class() { return Type::IfcPreDefinedPropertySet; } -IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTextFont bool IfcPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedTextFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedTextFont::type() const { return Type::IfcPreDefinedTextFont; } Type::Enum IfcPreDefinedTextFont::Class() { return Type::IfcPreDefinedTextFont; } -IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntityPtr e) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationItem bool IfcPresentationItem::is(Type::Enum v) const { return v == Type::IfcPresentationItem; } Type::Enum IfcPresentationItem::type() const { return Type::IfcPresentationItem; } Type::Enum IfcPresentationItem::Class() { return Type::IfcPresentationItem; } -IfcPresentationItem::IfcPresentationItem(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationItem::IfcPresentationItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerAssignment -IfcLabel IfcPresentationLayerAssignment::Name() { return *entity->getArgument(0); } +IfcLabel IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } void IfcPresentationLayerAssignment::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcPresentationLayerAssignment::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcPresentationLayerAssignment::Description() { return *entity->getArgument(1); } +bool IfcPresentationLayerAssignment::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } void IfcPresentationLayerAssignment::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPresentationLayerAssignment::AssignedItems() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPresentationLayerAssignment::setAssignedItems(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPresentationLayerAssignment::hasIdentifier() { return !entity->getArgument(3)->isNull(); } -IfcIdentifier IfcPresentationLayerAssignment::Identifier() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationLayerAssignment::AssignedItems() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPresentationLayerAssignment::setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcPresentationLayerAssignment::hasIdentifier() const { return !entity->getArgument(3)->isNull(); } +IfcIdentifier IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } void IfcPresentationLayerAssignment::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::type() const { return Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::Class() { return Type::IfcPresentationLayerAssignment; } -IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationLayerAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationLayerAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerWithStyle -bool IfcPresentationLayerWithStyle::LayerOn() { return *entity->getArgument(4); } +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); } -bool IfcPresentationLayerWithStyle::LayerFrozen() { return *entity->getArgument(5); } +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); } -bool IfcPresentationLayerWithStyle::LayerBlocked() { return *entity->getArgument(6); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > IfcPresentationLayerWithStyle::LayerStyles() { RETURN_AS_LIST(IfcPresentationStyle,7) } -void IfcPresentationLayerWithStyle::setLayerStyles(SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +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()); } bool IfcPresentationLayerWithStyle::is(Type::Enum v) const { return v == Type::IfcPresentationLayerWithStyle || IfcPresentationLayerAssignment::is(v); } Type::Enum IfcPresentationLayerWithStyle::type() const { return Type::IfcPresentationLayerWithStyle; } Type::Enum IfcPresentationLayerWithStyle::Class() { return Type::IfcPresentationLayerWithStyle; } -IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntityPtr e) : IfcPresentationLayerAssignment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPresentationLayerWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntity* e) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPresentationLayerWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyle -bool IfcPresentationStyle::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcPresentationStyle::Name() { return *entity->getArgument(0); } +bool IfcPresentationStyle::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcPresentationStyle::Name() const { return *entity->getArgument(0); } void IfcPresentationStyle::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPresentationStyle::is(Type::Enum v) const { return v == Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } -IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPresentationStyle::IfcPresentationStyle(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyleAssignment -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPresentationStyleAssignment::Styles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcPresentationStyleAssignment::setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationStyleAssignment::Styles() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcPresentationStyleAssignment::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyleAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntities v1_Styles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Styles)); entity = e; EntityBuffer::Add(this); } +IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyleAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(7)->isNull(); } -IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedure::PredefinedType() { return IfcProcedureTypeEnum::FromString(*entity->getArgument(7)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedure::IfcProcedure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType) : IfcProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProcedure::IfcProcedure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcProcedureTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcedureType -IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedureType::PredefinedType() { return IfcProcedureTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcTypeProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProcedureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedureType::IfcProcedureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType) : IfcTypeProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProcedureType::IfcProcedureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProcedureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcess -bool IfcProcess::hasIdentification() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcProcess::Identification() { return *entity->getArgument(5); } +bool IfcProcess::hasIdentification() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcProcess::Identification() const { return *entity->getArgument(5); } void IfcProcess::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProcess::hasLongDescription() { return !entity->getArgument(6)->isNull(); } -IfcText IfcProcess::LongDescription() { return *entity->getArgument(6); } +bool IfcProcess::hasLongDescription() const { return !entity->getArgument(6)->isNull(); } +IfcText IfcProcess::LongDescription() const { return *entity->getArgument(6); } void IfcProcess::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcRelSequence::list IfcProcess::IsPredecessorTo() { RETURN_INVERSE(IfcRelSequence) } -IfcRelSequence::list IfcProcess::IsSuccessorFrom() { RETURN_INVERSE(IfcRelSequence) } -IfcRelAssignsToProcess::list IfcProcess::OperatesOn() { RETURN_INVERSE(IfcRelAssignsToProcess) } +IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return entity->getInverse(Type::IfcRelSequence)->as(); } +IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return entity->getInverse(Type::IfcRelSequence)->as(); } +IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess)->as(); } bool IfcProcess::is(Type::Enum v) const { return v == Type::IfcProcess || IfcObject::is(v); } Type::Enum IfcProcess::type() const { return Type::IfcProcess; } Type::Enum IfcProcess::Class() { return Type::IfcProcess; } -IfcProcess::IfcProcess(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcess::IfcProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProcess::IfcProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProduct -bool IfcProduct::hasObjectPlacement() { return !entity->getArgument(5)->isNull(); } -IfcObjectPlacement* IfcProduct::ObjectPlacement() { return (IfcObjectPlacement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcProductRepresentation* IfcProduct::Representation() { return (IfcProductRepresentation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -IfcRelAssignsToProduct::list IfcProduct::ReferencedBy() { RETURN_INVERSE(IfcRelAssignsToProduct) } +IfcRelAssignsToProduct::list::ptr IfcProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct)->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(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProduct::IfcProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProduct::IfcProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductDefinitionShape -IfcProduct::list IfcProductDefinitionShape::ShapeOfProduct() { RETURN_INVERSE(IfcProduct) } -IfcShapeAspect::list IfcProductDefinitionShape::HasShapeAspects() { RETURN_INVERSE(IfcShapeAspect) } +IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return entity->getInverse(Type::IfcProduct)->as(); } +IfcShapeAspect::list::ptr IfcProductDefinitionShape::HasShapeAspects() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } bool IfcProductDefinitionShape::is(Type::Enum v) const { return v == Type::IfcProductDefinitionShape || IfcProductRepresentation::is(v); } Type::Enum IfcProductDefinitionShape::type() const { return Type::IfcProductDefinitionShape; } Type::Enum IfcProductDefinitionShape::Class() { return Type::IfcProductDefinitionShape; } -IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntityPtr e) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProductDefinitionShape)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations) : IfcProductRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProductDefinitionShape)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductRepresentation -bool IfcProductRepresentation::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcProductRepresentation::Name() { return *entity->getArgument(0); } +bool IfcProductRepresentation::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcProductRepresentation::Name() const { return *entity->getArgument(0); } void IfcProductRepresentation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProductRepresentation::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcProductRepresentation::Description() { return *entity->getArgument(1); } +bool IfcProductRepresentation::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcProductRepresentation::Description() const { return *entity->getArgument(1); } void IfcProductRepresentation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > IfcProductRepresentation::Representations() { RETURN_AS_LIST(IfcRepresentation,2) } -void IfcProductRepresentation::setRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcTemplatedEntityList< IfcRepresentation >::ptr IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcProductRepresentation::is(Type::Enum v) const { return v == Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::type() const { return Type::IfcProductRepresentation; } Type::Enum IfcProductRepresentation::Class() { return Type::IfcProductRepresentation; } -IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProductRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductRepresentation::IfcProductRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProductRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProductRepresentation::IfcProductRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileDef -IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileDef::ProfileType() { return IfcProfileTypeEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcProfileDef::ProfileName() { return *entity->getArgument(1); } +bool IfcProfileDef::hasProfileName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } void IfcProfileDef::setProfileName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcExternalReferenceRelationship::list IfcProfileDef::HasExternalReference() { RETURN_INVERSE(IfcExternalReferenceRelationship) } -IfcProfileProperties::list IfcProfileDef::HasProperties() { RETURN_INVERSE(IfcProfileProperties) } +IfcExternalReferenceRelationship::list::ptr IfcProfileDef::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } +IfcProfileProperties::list::ptr IfcProfileDef::HasProperties() const { return entity->getInverse(Type::IfcProfileProperties)->as(); } bool IfcProfileDef::is(Type::Enum v) const { return v == Type::IfcProfileDef; } Type::Enum IfcProfileDef::type() const { return Type::IfcProfileDef; } Type::Enum IfcProfileDef::Class() { return Type::IfcProfileDef; } -IfcProfileDef::IfcProfileDef(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProfileDef::IfcProfileDef(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileProperties -IfcProfileDef* IfcProfileProperties::ProfileDefinition() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcProfileProperties::IfcProfileProperties(IfcAbstractEntityPtr e) : IfcExtendedProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProfileProperties::IfcProfileProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v3_Properties, IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } +IfcProfileProperties::IfcProfileProperties(IfcAbstractEntity* e) : IfcExtendedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProfileProperties::IfcProfileProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProject bool IfcProject::is(Type::Enum v) const { return v == Type::IfcProject || IfcContext::is(v); } Type::Enum IfcProject::type() const { return Type::IfcProject; } Type::Enum IfcProject::Class() { return Type::IfcProject; } -IfcProject::IfcProject(IfcAbstractEntityPtr e) : IfcContext((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProject::IfcProject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProject::IfcProject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcContext((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectLibrary::IfcProjectLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectLibrary::IfcProjectLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrder -bool IfcProjectOrder::hasPredefinedType() { return !entity->getArgument(6)->isNull(); } -IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrder::PredefinedType() { return IfcProjectOrderTypeEnum::FromString(*entity->getArgument(6)); } +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() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcProjectOrder::Status() { return *entity->getArgument(7); } +bool IfcProjectOrder::hasStatus() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcProjectOrder::Status() const { return *entity->getArgument(7); } void IfcProjectOrder::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcProjectOrder::hasLongDescription() { return !entity->getArgument(8)->isNull(); } -IfcText IfcProjectOrder::LongDescription() { return *entity->getArgument(8); } +bool IfcProjectOrder::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } +IfcText IfcProjectOrder::LongDescription() const { return *entity->getArgument(8); } void IfcProjectOrder::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrder::IfcProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectOrder::IfcProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectedCRS -bool IfcProjectedCRS::hasMapProjection() { return !entity->getArgument(4)->isNull(); } -IfcIdentifier IfcProjectedCRS::MapProjection() { return *entity->getArgument(4); } +bool IfcProjectedCRS::hasMapProjection() const { return !entity->getArgument(4)->isNull(); } +IfcIdentifier IfcProjectedCRS::MapProjection() const { return *entity->getArgument(4); } void IfcProjectedCRS::setMapProjection(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcProjectedCRS::hasMapZone() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcProjectedCRS::MapZone() { return *entity->getArgument(5); } +bool IfcProjectedCRS::hasMapZone() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcProjectedCRS::MapZone() const { return *entity->getArgument(5); } void IfcProjectedCRS::setMapZone(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcProjectedCRS::hasMapUnit() { return !entity->getArgument(6)->isNull(); } -IfcNamedUnit* IfcProjectedCRS::MapUnit() { return (IfcNamedUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcCoordinateReferenceSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectedCRS)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectedCRS::IfcProjectedCRS(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum, boost::optional< IfcIdentifier > v5_MapProjection, boost::optional< IfcIdentifier > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectedCRS)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectedCRS::IfcProjectedCRS(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum, boost::optional< IfcIdentifier > v5_MapProjection, boost::optional< IfcIdentifier > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement -bool IfcProjectionElement::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum IfcProjectionElement::PredefinedType() { return IfcProjectionElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFeatureElementAddition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionElement::IfcProjectionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType) : IfcFeatureElementAddition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProjectionElement::IfcProjectionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProjectionElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProperty -IfcIdentifier IfcProperty::Name() { return *entity->getArgument(0); } +IfcIdentifier IfcProperty::Name() const { return *entity->getArgument(0); } void IfcProperty::setName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcProperty::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcProperty::Description() { return *entity->getArgument(1); } +bool IfcProperty::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcProperty::Description() const { return *entity->getArgument(1); } void IfcProperty::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPropertySet::list IfcProperty::PartOfPset() { RETURN_INVERSE(IfcPropertySet) } -IfcPropertyDependencyRelationship::list IfcProperty::PropertyForDependance() { RETURN_INVERSE(IfcPropertyDependencyRelationship) } -IfcPropertyDependencyRelationship::list IfcProperty::PropertyDependsOn() { RETURN_INVERSE(IfcPropertyDependencyRelationship) } -IfcComplexProperty::list IfcProperty::PartOfComplex() { RETURN_INVERSE(IfcComplexProperty) } +IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return entity->getInverse(Type::IfcPropertySet)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } +IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } +IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return entity->getInverse(Type::IfcComplexProperty)->as(); } bool IfcProperty::is(Type::Enum v) const { return v == Type::IfcProperty || IfcPropertyAbstraction::is(v); } Type::Enum IfcProperty::type() const { return Type::IfcProperty; } Type::Enum IfcProperty::Class() { return Type::IfcProperty; } -IfcProperty::IfcProperty(IfcAbstractEntityPtr e) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProperty::IfcProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcProperty::IfcProperty(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProperty::IfcProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyAbstraction -IfcExternalReferenceRelationship::list IfcPropertyAbstraction::HasExternalReferences() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcPropertyAbstraction::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcPropertyAbstraction::is(Type::Enum v) const { return v == Type::IfcPropertyAbstraction; } Type::Enum IfcPropertyAbstraction::type() const { return Type::IfcPropertyAbstraction; } Type::Enum IfcPropertyAbstraction::Class() { return Type::IfcPropertyAbstraction; } -IfcPropertyAbstraction::IfcPropertyAbstraction(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyAbstraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyAbstraction::IfcPropertyAbstraction(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyAbstraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyBoundedValue -bool IfcPropertyBoundedValue::hasUpperBoundValue() { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertyBoundedValue::UpperBoundValue() { return *entity->getArgument(2); } +bool IfcPropertyBoundedValue::hasUpperBoundValue() const { return !entity->getArgument(2)->isNull(); } +IfcValue IfcPropertyBoundedValue::UpperBoundValue() const { return *entity->getArgument(2); } void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyBoundedValue::hasLowerBoundValue() { return !entity->getArgument(3)->isNull(); } -IfcValue IfcPropertyBoundedValue::LowerBoundValue() { return *entity->getArgument(3); } +bool IfcPropertyBoundedValue::hasLowerBoundValue() const { return !entity->getArgument(3)->isNull(); } +IfcValue IfcPropertyBoundedValue::LowerBoundValue() const { return *entity->getArgument(3); } void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcPropertyBoundedValue::hasUnit() { return !entity->getArgument(4)->isNull(); } -IfcUnit IfcPropertyBoundedValue::Unit() { return *entity->getArgument(4); } +bool IfcPropertyBoundedValue::hasUnit() const { return !entity->getArgument(4)->isNull(); } +IfcUnit IfcPropertyBoundedValue::Unit() const { return *entity->getArgument(4); } void IfcPropertyBoundedValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPropertyBoundedValue::hasSetPointValue() { return !entity->getArgument(5)->isNull(); } -IfcValue IfcPropertyBoundedValue::SetPointValue() { return *entity->getArgument(5); } +bool IfcPropertyBoundedValue::hasSetPointValue() const { return !entity->getArgument(5)->isNull(); } +IfcValue IfcPropertyBoundedValue::SetPointValue() const { return *entity->getArgument(5); } void IfcPropertyBoundedValue::setSetPointValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit, boost::optional< IfcValue > v6_SetPointValue) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } if (v6_SetPointValue) { e->setArgument(5,(*v6_SetPointValue)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit, boost::optional< IfcValue > v6_SetPointValue) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } if (v6_SetPointValue) { e->setArgument(5,(*v6_SetPointValue)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDefinition -IfcRelDeclares::list IfcPropertyDefinition::HasContext() { RETURN_INVERSE(IfcRelDeclares) } -IfcRelAssociates::list IfcPropertyDefinition::HasAssociations() { RETURN_INVERSE(IfcRelAssociates) } +IfcRelDeclares::list::ptr IfcPropertyDefinition::HasContext() const { return entity->getInverse(Type::IfcRelDeclares)->as(); } +IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return entity->getInverse(Type::IfcRelAssociates)->as(); } bool IfcPropertyDefinition::is(Type::Enum v) const { return v == Type::IfcPropertyDefinition || IfcRoot::is(v); } Type::Enum IfcPropertyDefinition::type() const { return Type::IfcPropertyDefinition; } Type::Enum IfcPropertyDefinition::Class() { return Type::IfcPropertyDefinition; } -IfcPropertyDefinition::IfcPropertyDefinition(IfcAbstractEntityPtr e) : IfcRoot((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDefinition::IfcPropertyDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyDefinition::IfcPropertyDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDependencyRelationship -IfcProperty* IfcPropertyDependencyRelationship::DependingProperty() { return (IfcProperty*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcProperty* IfcPropertyDependencyRelationship::DependantProperty() { return (IfcProperty*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyDependencyRelationship::Expression() { return *entity->getArgument(4); } +bool IfcPropertyDependencyRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } void IfcPropertyDependencyRelationship::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyDependencyRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyDependencyRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } -IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< IfcText > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DependingProperty)); e->setArgument(3,(v4_DependantProperty)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< IfcText > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DependingProperty)); e->setArgument(3,(v4_DependantProperty)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeratedValue -bool IfcPropertyEnumeratedValue::hasEnumerationValues() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyEnumeratedValue::EnumerationValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPropertyEnumeratedValue::setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPropertyEnumeratedValue::hasEnumerationReference() { return !entity->getArgument(3)->isNull(); } -IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() { return (IfcPropertyEnumeration*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +bool IfcPropertyEnumeratedValue::hasEnumerationValues() const { return !entity->getArgument(2)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPropertyEnumeratedValue::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntities > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_EnumerationValues) { e->setArgument(2,(*v3_EnumerationValues)); } else { e->setArgument(2); } e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeration -IfcLabel IfcPropertyEnumeration::Name() { return *entity->getArgument(0); } +IfcLabel IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } void IfcPropertyEnumeration::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyEnumeration::EnumerationValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcPropertyEnumeration::setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcPropertyEnumeration::hasUnit() { return !entity->getArgument(2)->isNull(); } -IfcUnit IfcPropertyEnumeration::Unit() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeration::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcPropertyEnumeration::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcPropertyEnumeration::hasUnit() const { return !entity->getArgument(2)->isNull(); } +IfcUnit IfcPropertyEnumeration::Unit() const { return *entity->getArgument(2); } void IfcPropertyEnumeration::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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(IfcAbstractEntityPtr e) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeration::IfcPropertyEnumeration(IfcLabel v1_Name, IfcEntities v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit) : IfcPropertyAbstraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyEnumeration::IfcPropertyEnumeration(IfcLabel v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyListValue -bool IfcPropertyListValue::hasListValues() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyListValue::ListValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPropertyListValue::setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPropertyListValue::hasUnit() { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertyListValue::Unit() { return *entity->getArgument(3); } +bool IfcPropertyListValue::hasListValues() const { return !entity->getArgument(2)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyListValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPropertyListValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcPropertyListValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } +IfcUnit IfcPropertyListValue::Unit() const { return *entity->getArgument(3); } void IfcPropertyListValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyListValue::IfcPropertyListValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntities > v3_ListValues, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_ListValues) { e->setArgument(2,(*v3_ListValues)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyListValue::IfcPropertyListValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyListValue::IfcPropertyListValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_ListValues) { e->setArgument(2,(*v3_ListValues)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyReferenceValue -bool IfcPropertyReferenceValue::hasUsageName() { return !entity->getArgument(2)->isNull(); } -IfcText IfcPropertyReferenceValue::UsageName() { return *entity->getArgument(2); } +bool IfcPropertyReferenceValue::hasUsageName() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } void IfcPropertyReferenceValue::setUsageName(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertyReferenceValue::hasPropertyReference() { return !entity->getArgument(3)->isNull(); } -IfcObjectReferenceSelect IfcPropertyReferenceValue::PropertyReference() { return *entity->getArgument(3); } +bool IfcPropertyReferenceValue::hasPropertyReference() const { return !entity->getArgument(3)->isNull(); } +IfcObjectReferenceSelect IfcPropertyReferenceValue::PropertyReference() const { return *entity->getArgument(3); } void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcText > v3_UsageName, boost::optional< IfcObjectReferenceSelect > v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } if (v4_PropertyReference) { e->setArgument(3,(*v4_PropertyReference)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcText > v3_UsageName, boost::optional< IfcObjectReferenceSelect > v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } if (v4_PropertyReference) { e->setArgument(3,(*v4_PropertyReference)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySet -SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > IfcPropertySet::HasProperties() { RETURN_AS_LIST(IfcProperty,4) } -void IfcPropertySet::setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySet::IfcPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySet::IfcPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetDefinition -IfcTypeObject::list IfcPropertySetDefinition::DefinesType() { RETURN_INVERSE(IfcTypeObject) } -IfcRelDefinesByTemplate::list IfcPropertySetDefinition::IsDefinedBy() { RETURN_INVERSE(IfcRelDefinesByTemplate) } -IfcRelDefinesByProperties::list IfcPropertySetDefinition::DefinesOccurrence() { RETURN_INVERSE(IfcRelDefinesByProperties) } +IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return entity->getInverse(Type::IfcTypeObject)->as(); } +IfcRelDefinesByTemplate::list::ptr IfcPropertySetDefinition::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefinesByTemplate)->as(); } +IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::DefinesOccurrence() const { return entity->getInverse(Type::IfcRelDefinesByProperties)->as(); } bool IfcPropertySetDefinition::is(Type::Enum v) const { return v == Type::IfcPropertySetDefinition || IfcPropertyDefinition::is(v); } Type::Enum IfcPropertySetDefinition::type() const { return Type::IfcPropertySetDefinition; } Type::Enum IfcPropertySetDefinition::Class() { return Type::IfcPropertySetDefinition; } -IfcPropertySetDefinition::IfcPropertySetDefinition(IfcAbstractEntityPtr e) : IfcPropertyDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetDefinition::IfcPropertySetDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySetDefinition::IfcPropertySetDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetTemplate -bool IfcPropertySetTemplate::hasTemplateType() { return !entity->getArgument(4)->isNull(); } -IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum IfcPropertySetTemplate::TemplateType() { return IfcPropertySetTemplateTypeEnum::FromString(*entity->getArgument(4)); } +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() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcPropertySetTemplate::ApplicableEntity() { return *entity->getArgument(5); } +bool IfcPropertySetTemplate::hasApplicableEntity() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcPropertySetTemplate::ApplicableEntity() const { return *entity->getArgument(5); } void IfcPropertySetTemplate::setApplicableEntity(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > IfcPropertySetTemplate::HasPropertyTemplates() { RETURN_AS_LIST(IfcPropertyTemplate,6) } -void IfcPropertySetTemplate::setHasPropertyTemplates(SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -IfcRelDefinesByTemplate::list IfcPropertySetTemplate::Defines() { RETURN_INVERSE(IfcRelDefinesByTemplate) } +IfcTemplatedEntityList< IfcPropertyTemplate >::ptr IfcPropertySetTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } +void IfcPropertySetTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +IfcRelDefinesByTemplate::list::ptr IfcPropertySetTemplate::Defines() const { return entity->getInverse(Type::IfcRelDefinesByTemplate)->as(); } 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(IfcAbstractEntityPtr e) : IfcPropertyTemplateDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySetTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetTemplate::IfcPropertySetTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< IfcIdentifier > v6_ApplicableEntity, SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySetTemplate::IfcPropertySetTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< IfcIdentifier > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_ApplicableEntity) { e->setArgument(5,(*v6_ApplicableEntity)); } else { e->setArgument(5); } e->setArgument(6,(v7_HasPropertyTemplates)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySingleValue -bool IfcPropertySingleValue::hasNominalValue() { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertySingleValue::NominalValue() { return *entity->getArgument(2); } +bool IfcPropertySingleValue::hasNominalValue() const { return !entity->getArgument(2)->isNull(); } +IfcValue IfcPropertySingleValue::NominalValue() const { return *entity->getArgument(2); } void IfcPropertySingleValue::setNominalValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcPropertySingleValue::hasUnit() { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertySingleValue::Unit() { return *entity->getArgument(3); } +bool IfcPropertySingleValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } +IfcUnit IfcPropertySingleValue::Unit() const { return *entity->getArgument(3); } void IfcPropertySingleValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySingleValue::IfcPropertySingleValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertySingleValue::IfcPropertySingleValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTableValue -bool IfcPropertyTableValue::hasDefiningValues() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyTableValue::DefiningValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcPropertyTableValue::setDefiningValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcPropertyTableValue::hasDefinedValues() { return !entity->getArgument(3)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcPropertyTableValue::DefinedValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,3) } -void IfcPropertyTableValue::setDefinedValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -bool IfcPropertyTableValue::hasExpression() { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyTableValue::Expression() { return *entity->getArgument(4); } +bool IfcPropertyTableValue::hasDefiningValues() const { return !entity->getArgument(2)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefiningValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcPropertyTableValue::setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcPropertyTableValue::hasDefinedValues() const { return !entity->getArgument(3)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefinedValues() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcPropertyTableValue::setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +bool IfcPropertyTableValue::hasExpression() const { return !entity->getArgument(4)->isNull(); } +IfcText IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } void IfcPropertyTableValue::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcPropertyTableValue::hasDefiningUnit() { return !entity->getArgument(5)->isNull(); } -IfcUnit IfcPropertyTableValue::DefiningUnit() { return *entity->getArgument(5); } +bool IfcPropertyTableValue::hasDefiningUnit() const { return !entity->getArgument(5)->isNull(); } +IfcUnit IfcPropertyTableValue::DefiningUnit() const { return *entity->getArgument(5); } void IfcPropertyTableValue::setDefiningUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcPropertyTableValue::hasDefinedUnit() { return !entity->getArgument(6)->isNull(); } -IfcUnit IfcPropertyTableValue::DefinedUnit() { return *entity->getArgument(6); } +bool IfcPropertyTableValue::hasDefinedUnit() const { return !entity->getArgument(6)->isNull(); } +IfcUnit IfcPropertyTableValue::DefinedUnit() const { return *entity->getArgument(6); } void IfcPropertyTableValue::setDefinedUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcPropertyTableValue::hasCurveInterpolation() { return !entity->getArgument(7)->isNull(); } -IfcCurveInterpolationEnum::IfcCurveInterpolationEnum IfcPropertyTableValue::CurveInterpolation() { return IfcCurveInterpolationEnum::FromString(*entity->getArgument(7)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTableValue::IfcPropertyTableValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntities > v3_DefiningValues, boost::optional< IfcEntities > v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation) : IfcSimpleProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_DefiningValues) { e->setArgument(2,(*v3_DefiningValues)); } else { e->setArgument(2); } if (v4_DefinedValues) { e->setArgument(3,(*v4_DefinedValues)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } if (v8_CurveInterpolation) { e->setArgument(7,*v8_CurveInterpolation,IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTableValue::IfcPropertyTableValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyTableValue::IfcPropertyTableValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_DefiningValues) { e->setArgument(2,(*v3_DefiningValues)); } else { e->setArgument(2); } if (v4_DefinedValues) { e->setArgument(3,(*v4_DefinedValues)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } if (v8_CurveInterpolation) { e->setArgument(7,*v8_CurveInterpolation,IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTemplate -IfcComplexPropertyTemplate::list IfcPropertyTemplate::PartOfComplexTemplate() { RETURN_INVERSE(IfcComplexPropertyTemplate) } -IfcPropertySetTemplate::list IfcPropertyTemplate::PartOfPsetTemplate() { RETURN_INVERSE(IfcPropertySetTemplate) } +IfcComplexPropertyTemplate::list::ptr IfcPropertyTemplate::PartOfComplexTemplate() const { return entity->getInverse(Type::IfcComplexPropertyTemplate)->as(); } +IfcPropertySetTemplate::list::ptr IfcPropertyTemplate::PartOfPsetTemplate() const { return entity->getInverse(Type::IfcPropertySetTemplate)->as(); } bool IfcPropertyTemplate::is(Type::Enum v) const { return v == Type::IfcPropertyTemplate || IfcPropertyTemplateDefinition::is(v); } Type::Enum IfcPropertyTemplate::type() const { return Type::IfcPropertyTemplate; } Type::Enum IfcPropertyTemplate::Class() { return Type::IfcPropertyTemplate; } -IfcPropertyTemplate::IfcPropertyTemplate(IfcAbstractEntityPtr e) : IfcPropertyTemplateDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTemplate::IfcPropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyTemplateDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyTemplate::IfcPropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcPropertyDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplateDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplateDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDevice -bool IfcProtectiveDevice::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDevice::PredefinedType() { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDevice::IfcProtectiveDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProtectiveDevice::IfcProtectiveDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceTrippingUnit -bool IfcProtectiveDeviceTrippingUnit::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum IfcProtectiveDeviceTrippingUnit::PredefinedType() { return IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum IfcProtectiveDeviceTrippingUnitType::PredefinedType() { return IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnitType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnitType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceType -IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceType::PredefinedType() { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProxy -IfcObjectTypeEnum::IfcObjectTypeEnum IfcProxy::ProxyType() { return IfcObjectTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcProxy::Tag() { return *entity->getArgument(8); } +bool IfcProxy::hasTag() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcProxy::Tag() const { return *entity->getArgument(8); } void IfcProxy::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProxy::IfcProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcProxy::IfcProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPump -bool IfcPump::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcPumpTypeEnum::IfcPumpTypeEnum IfcPump::PredefinedType() { return IfcPumpTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPump)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPump::IfcPump(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPump)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPump::IfcPump(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPumpTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPumpType -IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpType::PredefinedType() { return IfcPumpTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPumpType::IfcPumpType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcPumpType::IfcPumpType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityArea -IfcAreaMeasure IfcQuantityArea::AreaValue() { return *entity->getArgument(3); } +IfcAreaMeasure IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } void IfcQuantityArea::setAreaValue(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityArea::hasFormula() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityArea::Formula() { return *entity->getArgument(4); } +bool IfcQuantityArea::hasFormula() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcQuantityArea::Formula() const { return *entity->getArgument(4); } void IfcQuantityArea::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityArea::IfcQuantityArea(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityArea::IfcQuantityArea(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityCount -IfcCountMeasure IfcQuantityCount::CountValue() { return *entity->getArgument(3); } +IfcCountMeasure IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } void IfcQuantityCount::setCountValue(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityCount::hasFormula() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityCount::Formula() { return *entity->getArgument(4); } +bool IfcQuantityCount::hasFormula() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcQuantityCount::Formula() const { return *entity->getArgument(4); } void IfcQuantityCount::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityCount::IfcQuantityCount(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityCount::IfcQuantityCount(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityLength -IfcLengthMeasure IfcQuantityLength::LengthValue() { return *entity->getArgument(3); } +IfcLengthMeasure IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } void IfcQuantityLength::setLengthValue(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityLength::hasFormula() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityLength::Formula() { return *entity->getArgument(4); } +bool IfcQuantityLength::hasFormula() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcQuantityLength::Formula() const { return *entity->getArgument(4); } void IfcQuantityLength::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityLength::IfcQuantityLength(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityLength::IfcQuantityLength(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantitySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantitySet::IfcQuantitySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantitySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantitySet::IfcQuantitySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityTime -IfcTimeMeasure IfcQuantityTime::TimeValue() { return *entity->getArgument(3); } +IfcTimeMeasure IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } void IfcQuantityTime::setTimeValue(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityTime::hasFormula() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityTime::Formula() { return *entity->getArgument(4); } +bool IfcQuantityTime::hasFormula() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcQuantityTime::Formula() const { return *entity->getArgument(4); } void IfcQuantityTime::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityTime::IfcQuantityTime(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityTime::IfcQuantityTime(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityVolume -IfcVolumeMeasure IfcQuantityVolume::VolumeValue() { return *entity->getArgument(3); } +IfcVolumeMeasure IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } void IfcQuantityVolume::setVolumeValue(IfcVolumeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityVolume::hasFormula() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityVolume::Formula() { return *entity->getArgument(4); } +bool IfcQuantityVolume::hasFormula() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcQuantityVolume::Formula() const { return *entity->getArgument(4); } void IfcQuantityVolume::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityVolume::IfcQuantityVolume(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityVolume::IfcQuantityVolume(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityWeight -IfcMassMeasure IfcQuantityWeight::WeightValue() { return *entity->getArgument(3); } +IfcMassMeasure IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } void IfcQuantityWeight::setWeightValue(IfcMassMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcQuantityWeight::hasFormula() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityWeight::Formula() { return *entity->getArgument(4); } +bool IfcQuantityWeight::hasFormula() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcQuantityWeight::Formula() const { return *entity->getArgument(4); } void IfcQuantityWeight::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityWeight::IfcQuantityWeight(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcQuantityWeight::IfcQuantityWeight(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailing -bool IfcRailing::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailing::PredefinedType() { return IfcRailingTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailing::IfcRailing(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRailing::IfcRailing(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailingType -IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingType::PredefinedType() { return IfcRailingTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailingType::IfcRailingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRailingType::IfcRailingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRamp -bool IfcRamp::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcRampTypeEnum::IfcRampTypeEnum IfcRamp::PredefinedType() { return IfcRampTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRamp::IfcRamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRamp::IfcRamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlight -bool IfcRampFlight::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlight::PredefinedType() { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlight::IfcRampFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRampFlight::IfcRampFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampFlightTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlightType -IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightType::PredefinedType() { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlightType::IfcRampFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRampFlightType::IfcRampFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampType -IfcRampTypeEnum::IfcRampTypeEnum IfcRampType::PredefinedType() { return IfcRampTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampType::IfcRampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRampType::IfcRampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ IfcRationalBSplineCurveWithKnots::WeightsData() { return *entity->getArgument(8); } +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); } 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; } -IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcAbstractEntityPtr e) : IfcBSplineCurveWithKnots((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRationalBSplineCurveWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); e->setArgument(8,(v9_WeightsData)); entity = e; EntityBuffer::Add(this); } +IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcAbstractEntity* e) : IfcBSplineCurveWithKnots((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRationalBSplineCurveWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); e->setArgument(8,(v9_WeightsData)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBSplineSurfaceWithKnots bool IfcRationalBSplineSurfaceWithKnots::is(Type::Enum v) const { return v == Type::IfcRationalBSplineSurfaceWithKnots || IfcBSplineSurfaceWithKnots::is(v); } Type::Enum IfcRationalBSplineSurfaceWithKnots::type() const { return Type::IfcRationalBSplineSurfaceWithKnots; } Type::Enum IfcRationalBSplineSurfaceWithKnots::Class() { return Type::IfcRationalBSplineSurfaceWithKnots; } -IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcAbstractEntityPtr e) : IfcBSplineSurfaceWithKnots((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRationalBSplineSurfaceWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurfaceWithKnots((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } +IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcAbstractEntity* e) : IfcBSplineSurfaceWithKnots((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRationalBSplineSurfaceWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurfaceWithKnots((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleHollowProfileDef -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::WallThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } void IfcRectangleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() { return !entity->getArgument(6)->isNull(); } -IfcNonNegativeLengthMeasure IfcRectangleHollowProfileDef::InnerFilletRadius() { return *entity->getArgument(6); } +bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !entity->getArgument(6)->isNull(); } +IfcNonNegativeLengthMeasure IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } void IfcRectangleHollowProfileDef::setInnerFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcRectangleHollowProfileDef::OuterFilletRadius() { return *entity->getArgument(7); } +bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } void IfcRectangleHollowProfileDef::setOuterFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcRectangleProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleProfileDef -IfcPositiveLengthMeasure IfcRectangleProfileDef::XDim() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } void IfcRectangleProfileDef::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcRectangleProfileDef::YDim() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } void IfcRectangleProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularPyramid -IfcPositiveLengthMeasure IfcRectangularPyramid::XLength() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } void IfcRectangularPyramid::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::YLength() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } void IfcRectangularPyramid::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::Height() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } void IfcRectangularPyramid::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRectangularPyramid::is(Type::Enum v) const { return v == Type::IfcRectangularPyramid || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRectangularPyramid::type() const { return Type::IfcRectangularPyramid; } Type::Enum IfcRectangularPyramid::Class() { return Type::IfcRectangularPyramid; } -IfcRectangularPyramid::IfcRectangularPyramid(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangularPyramid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } +IfcRectangularPyramid::IfcRectangularPyramid(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularPyramid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularTrimmedSurface -IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcRectangularTrimmedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U1() { return *entity->getArgument(1); } +IfcParameterValue IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } void IfcRectangularTrimmedSurface::setU1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V1() { return *entity->getArgument(2); } +IfcParameterValue IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } void IfcRectangularTrimmedSurface::setV1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U2() { return *entity->getArgument(3); } +IfcParameterValue IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } void IfcRectangularTrimmedSurface::setU2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V2() { return *entity->getArgument(4); } +IfcParameterValue IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } void IfcRectangularTrimmedSurface::setV2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRectangularTrimmedSurface::Usense() { return *entity->getArgument(5); } +bool IfcRectangularTrimmedSurface::Usense() const { return *entity->getArgument(5); } void IfcRectangularTrimmedSurface::setUsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRectangularTrimmedSurface::Vsense() { return *entity->getArgument(6); } +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); } 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; } -IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntityPtr e) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } +IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRecurrencePattern -IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum IfcRecurrencePattern::RecurrenceType() { return IfcRecurrenceTypeEnum::FromString(*entity->getArgument(0)); } +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() { return !entity->getArgument(1)->isNull(); } -std::vector< IfcDayInMonthNumber > /*[1:?]*/ IfcRecurrencePattern::DayComponent() { return *entity->getArgument(1); } +bool IfcRecurrencePattern::hasDayComponent() const { return !entity->getArgument(1)->isNull(); } +std::vector< IfcDayInMonthNumber > /*[1:?]*/ IfcRecurrencePattern::DayComponent() const { return *entity->getArgument(1); } void IfcRecurrencePattern::setDayComponent(std::vector< IfcDayInMonthNumber > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRecurrencePattern::hasWeekdayComponent() { return !entity->getArgument(2)->isNull(); } -std::vector< IfcDayInWeekNumber > /*[1:?]*/ IfcRecurrencePattern::WeekdayComponent() { return *entity->getArgument(2); } +bool IfcRecurrencePattern::hasWeekdayComponent() const { return !entity->getArgument(2)->isNull(); } +std::vector< IfcDayInWeekNumber > /*[1:?]*/ IfcRecurrencePattern::WeekdayComponent() const { return *entity->getArgument(2); } void IfcRecurrencePattern::setWeekdayComponent(std::vector< IfcDayInWeekNumber > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRecurrencePattern::hasMonthComponent() { return !entity->getArgument(3)->isNull(); } -std::vector< IfcMonthInYearNumber > /*[1:?]*/ IfcRecurrencePattern::MonthComponent() { return *entity->getArgument(3); } +bool IfcRecurrencePattern::hasMonthComponent() const { return !entity->getArgument(3)->isNull(); } +std::vector< IfcMonthInYearNumber > /*[1:?]*/ IfcRecurrencePattern::MonthComponent() const { return *entity->getArgument(3); } void IfcRecurrencePattern::setMonthComponent(std::vector< IfcMonthInYearNumber > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcRecurrencePattern::hasPosition() { return !entity->getArgument(4)->isNull(); } -IfcInteger IfcRecurrencePattern::Position() { return *entity->getArgument(4); } +bool IfcRecurrencePattern::hasPosition() const { return !entity->getArgument(4)->isNull(); } +IfcInteger IfcRecurrencePattern::Position() const { return *entity->getArgument(4); } void IfcRecurrencePattern::setPosition(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcRecurrencePattern::hasInterval() { return !entity->getArgument(5)->isNull(); } -IfcInteger IfcRecurrencePattern::Interval() { return *entity->getArgument(5); } +bool IfcRecurrencePattern::hasInterval() const { return !entity->getArgument(5)->isNull(); } +IfcInteger IfcRecurrencePattern::Interval() const { return *entity->getArgument(5); } void IfcRecurrencePattern::setInterval(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcRecurrencePattern::hasOccurrences() { return !entity->getArgument(6)->isNull(); } -IfcInteger IfcRecurrencePattern::Occurrences() { return *entity->getArgument(6); } +bool IfcRecurrencePattern::hasOccurrences() const { return !entity->getArgument(6)->isNull(); } +IfcInteger IfcRecurrencePattern::Occurrences() const { return *entity->getArgument(6); } void IfcRecurrencePattern::setOccurrences(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRecurrencePattern::hasTimePeriods() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > IfcRecurrencePattern::TimePeriods() { RETURN_AS_LIST(IfcTimePeriod,7) } -void IfcRecurrencePattern::setTimePeriods(SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +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()); } 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; } -IfcRecurrencePattern::IfcRecurrencePattern(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRecurrencePattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRecurrencePattern::IfcRecurrencePattern(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< IfcDayInMonthNumber > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< IfcDayInWeekNumber > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< IfcMonthInYearNumber > /*[1:?]*/ > v4_MonthComponent, boost::optional< IfcInteger > v5_Position, boost::optional< IfcInteger > v6_Interval, boost::optional< IfcInteger > v7_Occurrences, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > > v8_TimePeriods) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_RecurrenceType,IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType)); if (v2_DayComponent) { e->setArgument(1,(*v2_DayComponent)); } else { e->setArgument(1); } if (v3_WeekdayComponent) { e->setArgument(2,(*v3_WeekdayComponent)); } else { e->setArgument(2); } if (v4_MonthComponent) { e->setArgument(3,(*v4_MonthComponent)); } else { e->setArgument(3); } if (v5_Position) { e->setArgument(4,(*v5_Position)); } else { e->setArgument(4); } if (v6_Interval) { e->setArgument(5,(*v6_Interval)); } else { e->setArgument(5); } if (v7_Occurrences) { e->setArgument(6,(*v7_Occurrences)); } else { e->setArgument(6); } if (v8_TimePeriods) { e->setArgument(7,(*v8_TimePeriods)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRecurrencePattern::IfcRecurrencePattern(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRecurrencePattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRecurrencePattern::IfcRecurrencePattern(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< IfcDayInMonthNumber > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< IfcDayInWeekNumber > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< IfcMonthInYearNumber > /*[1:?]*/ > v4_MonthComponent, boost::optional< IfcInteger > v5_Position, boost::optional< IfcInteger > v6_Interval, boost::optional< IfcInteger > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_RecurrenceType,IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType)); if (v2_DayComponent) { e->setArgument(1,(*v2_DayComponent)); } else { e->setArgument(1); } if (v3_WeekdayComponent) { e->setArgument(2,(*v3_WeekdayComponent)); } else { e->setArgument(2); } if (v4_MonthComponent) { e->setArgument(3,(*v4_MonthComponent)); } else { e->setArgument(3); } if (v5_Position) { e->setArgument(4,(*v5_Position)); } else { e->setArgument(4); } if (v6_Interval) { e->setArgument(5,(*v6_Interval)); } else { e->setArgument(5); } if (v7_Occurrences) { e->setArgument(6,(*v7_Occurrences)); } else { e->setArgument(6); } if (v8_TimePeriods) { e->setArgument(7,(*v8_TimePeriods)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReference -bool IfcReference::hasTypeIdentifier() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcReference::TypeIdentifier() { return *entity->getArgument(0); } +bool IfcReference::hasTypeIdentifier() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcReference::TypeIdentifier() const { return *entity->getArgument(0); } void IfcReference::setTypeIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcReference::hasAttributeIdentifier() { return !entity->getArgument(1)->isNull(); } -IfcIdentifier IfcReference::AttributeIdentifier() { return *entity->getArgument(1); } +bool IfcReference::hasAttributeIdentifier() const { return !entity->getArgument(1)->isNull(); } +IfcIdentifier IfcReference::AttributeIdentifier() const { return *entity->getArgument(1); } void IfcReference::setAttributeIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcReference::hasInstanceName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcReference::InstanceName() { return *entity->getArgument(2); } +bool IfcReference::hasInstanceName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcReference::InstanceName() const { return *entity->getArgument(2); } void IfcReference::setInstanceName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcReference::hasListPositions() { return !entity->getArgument(3)->isNull(); } -std::vector< int > /*[1:?]*/ IfcReference::ListPositions() { return *entity->getArgument(3); } +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() { return !entity->getArgument(4)->isNull(); } -IfcReference* IfcReference::InnerReference() { return (IfcReference*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReference::IfcReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcReference::IfcReference(boost::optional< IfcIdentifier > v1_TypeIdentifier, boost::optional< IfcIdentifier > v2_AttributeIdentifier, boost::optional< IfcLabel > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TypeIdentifier) { e->setArgument(0,(*v1_TypeIdentifier)); } else { e->setArgument(0); } if (v2_AttributeIdentifier) { e->setArgument(1,(*v2_AttributeIdentifier)); } else { e->setArgument(1); } if (v3_InstanceName) { e->setArgument(2,(*v3_InstanceName)); } else { e->setArgument(2); } if (v4_ListPositions) { e->setArgument(3,(*v4_ListPositions)); } else { e->setArgument(3); } e->setArgument(4,(v5_InnerReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRegularTimeSeries -IfcTimeMeasure IfcRegularTimeSeries::TimeStep() { return *entity->getArgument(8); } +IfcTimeMeasure IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } void IfcRegularTimeSeries::setTimeStep(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > IfcRegularTimeSeries::Values() { RETURN_AS_LIST(IfcTimeSeriesValue,9) } -void IfcRegularTimeSeries::setValues(SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } +void IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } bool IfcRegularTimeSeries::is(Type::Enum v) const { return v == Type::IfcRegularTimeSeries || IfcTimeSeries::is(v); } Type::Enum IfcRegularTimeSeries::type() const { return Type::IfcRegularTimeSeries; } Type::Enum IfcRegularTimeSeries::Class() { return Type::IfcRegularTimeSeries; } -IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntityPtr e) : IfcTimeSeries((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRegularTimeSeries::IfcRegularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v10_Values) : IfcTimeSeries((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRegularTimeSeries::IfcRegularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementBarProperties -IfcAreaMeasure IfcReinforcementBarProperties::TotalCrossSectionArea() { return *entity->getArgument(0); } +IfcAreaMeasure IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } void IfcReinforcementBarProperties::setTotalCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcReinforcementBarProperties::SteelGrade() { return *entity->getArgument(1); } +IfcLabel IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } void IfcReinforcementBarProperties::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcReinforcementBarProperties::hasBarSurface() { return !entity->getArgument(2)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcementBarProperties::BarSurface() { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(2)); } +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() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcReinforcementBarProperties::EffectiveDepth() { return *entity->getArgument(3); } +bool IfcReinforcementBarProperties::hasEffectiveDepth() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } void IfcReinforcementBarProperties::setEffectiveDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcReinforcementBarProperties::hasNominalBarDiameter() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcementBarProperties::NominalBarDiameter() { return *entity->getArgument(4); } +bool IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } void IfcReinforcementBarProperties::setNominalBarDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcReinforcementBarProperties::hasBarCount() { return !entity->getArgument(5)->isNull(); } -IfcCountMeasure IfcReinforcementBarProperties::BarCount() { return *entity->getArgument(5); } +bool IfcReinforcementBarProperties::hasBarCount() const { return !entity->getArgument(5)->isNull(); } +IfcCountMeasure IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } void IfcReinforcementBarProperties::setBarCount(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcReinforcementBarProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementBarProperties || IfcPreDefinedProperties::is(v); } Type::Enum IfcReinforcementBarProperties::type() const { return Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::Class() { return Type::IfcReinforcementBarProperties; } -IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntityPtr e) : IfcPreDefinedProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcementBarProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount) : IfcPreDefinedProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntity* e) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementBarProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementDefinitionProperties -bool IfcReinforcementDefinitionProperties::hasDefinitionType() { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() { return *entity->getArgument(4); } +bool IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !entity->getArgument(4)->isNull(); } +IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } void IfcReinforcementDefinitionProperties::setDefinitionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() { RETURN_AS_LIST(IfcSectionReinforcementProperties,5) } -void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } +void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } bool IfcReinforcementDefinitionProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementDefinitionProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcReinforcementDefinitionProperties::type() const { return Type::IfcReinforcementDefinitionProperties; } Type::Enum IfcReinforcementDefinitionProperties::Class() { return Type::IfcReinforcementDefinitionProperties; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcAbstractEntityPtr e) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBar -bool IfcReinforcingBar::hasNominalDiameter() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBar::NominalDiameter() { return *entity->getArgument(9); } +bool IfcReinforcingBar::hasNominalDiameter() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } void IfcReinforcingBar::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcReinforcingBar::hasCrossSectionArea() { return !entity->getArgument(10)->isNull(); } -IfcAreaMeasure IfcReinforcingBar::CrossSectionArea() { return *entity->getArgument(10); } +bool IfcReinforcingBar::hasCrossSectionArea() const { return !entity->getArgument(10)->isNull(); } +IfcAreaMeasure IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } void IfcReinforcingBar::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingBar::hasBarLength() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBar::BarLength() { return *entity->getArgument(11); } +bool IfcReinforcingBar::hasBarLength() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } void IfcReinforcingBar::setBarLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingBar::hasPredefinedType() { return !entity->getArgument(12)->isNull(); } -IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum IfcReinforcingBar::PredefinedType() { return IfcReinforcingBarTypeEnum::FromString(*entity->getArgument(12)); } +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() { return !entity->getArgument(13)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBar::BarSurface() { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBar::IfcReinforcingBar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_NominalDiameter, boost::optional< IfcAreaMeasure > v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingBar::IfcReinforcingBar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_NominalDiameter, boost::optional< IfcAreaMeasure > v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_NominalDiameter) { e->setArgument(9,(*v10_NominalDiameter)); } else { e->setArgument(9); } if (v11_CrossSectionArea) { e->setArgument(10,(*v11_CrossSectionArea)); } else { e->setArgument(10); } if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBarType -IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum IfcReinforcingBarType::PredefinedType() { return IfcReinforcingBarTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBarType::NominalDiameter() { return *entity->getArgument(10); } +bool IfcReinforcingBarType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingBarType::NominalDiameter() const { return *entity->getArgument(10); } void IfcReinforcingBarType::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingBarType::hasCrossSectionArea() { return !entity->getArgument(11)->isNull(); } -IfcAreaMeasure IfcReinforcingBarType::CrossSectionArea() { return *entity->getArgument(11); } +bool IfcReinforcingBarType::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } +IfcAreaMeasure IfcReinforcingBarType::CrossSectionArea() const { return *entity->getArgument(11); } void IfcReinforcingBarType::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingBarType::hasBarLength() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBarType::BarLength() { return *entity->getArgument(12); } +bool IfcReinforcingBarType::hasBarLength() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingBarType::BarLength() const { return *entity->getArgument(12); } void IfcReinforcingBarType::setBarLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcReinforcingBarType::hasBarSurface() { return !entity->getArgument(13)->isNull(); } -IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBarType::BarSurface() { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } +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() { return !entity->getArgument(14)->isNull(); } -IfcLabel IfcReinforcingBarType::BendingShapeCode() { return *entity->getArgument(14); } +bool IfcReinforcingBarType::hasBendingShapeCode() const { return !entity->getArgument(14)->isNull(); } +IfcLabel IfcReinforcingBarType::BendingShapeCode() const { return *entity->getArgument(14); } void IfcReinforcingBarType::setBendingShapeCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcReinforcingBarType::hasBendingParameters() { return !entity->getArgument(15)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcReinforcingBarType::BendingParameters() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,15) } -void IfcReinforcingBarType::setBendingParameters(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v->generalize()); } +bool IfcReinforcingBarType::hasBendingParameters() const { return !entity->getArgument(15)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcReinforcingBarType::BendingParameters() const { IfcEntityList::ptr es = *entity->getArgument(15); return es->as(); } +void IfcReinforcingBarType::setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v->generalize()); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBarType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBarType::IfcReinforcingBarType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< IfcLabel > v15_BendingShapeCode, boost::optional< IfcEntities > v16_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBarType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingBarType::IfcReinforcingBarType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< IfcLabel > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_BarLength) { e->setArgument(12,(*v13_BarLength)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } if (v15_BendingShapeCode) { e->setArgument(14,(*v15_BendingShapeCode)); } else { e->setArgument(14); } if (v16_BendingParameters) { e->setArgument(15,(*v16_BendingParameters)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElement -bool IfcReinforcingElement::hasSteelGrade() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcReinforcingElement::SteelGrade() { return *entity->getArgument(8); } +bool IfcReinforcingElement::hasSteelGrade() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } void IfcReinforcingElement::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElement::IfcReinforcingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingElement::IfcReinforcingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElementType::IfcReinforcingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingElementType::IfcReinforcingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMesh -bool IfcReinforcingMesh::hasMeshLength() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshLength() { return *entity->getArgument(9); } +bool IfcReinforcingMesh::hasMeshLength() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } void IfcReinforcingMesh::setMeshLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcReinforcingMesh::hasMeshWidth() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshWidth() { return *entity->getArgument(10); } +bool IfcReinforcingMesh::hasMeshWidth() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } void IfcReinforcingMesh::setMeshWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingMesh::hasLongitudinalBarNominalDiameter() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarNominalDiameter() { return *entity->getArgument(11); } +bool IfcReinforcingMesh::hasLongitudinalBarNominalDiameter() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingMesh::hasTransverseBarNominalDiameter() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarNominalDiameter() { return *entity->getArgument(12); } +bool IfcReinforcingMesh::hasTransverseBarNominalDiameter() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } void IfcReinforcingMesh::setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcReinforcingMesh::hasLongitudinalBarCrossSectionArea() { return !entity->getArgument(13)->isNull(); } -IfcAreaMeasure IfcReinforcingMesh::LongitudinalBarCrossSectionArea() { return *entity->getArgument(13); } +bool IfcReinforcingMesh::hasLongitudinalBarCrossSectionArea() const { return !entity->getArgument(13)->isNull(); } +IfcAreaMeasure IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcReinforcingMesh::hasTransverseBarCrossSectionArea() { return !entity->getArgument(14)->isNull(); } -IfcAreaMeasure IfcReinforcingMesh::TransverseBarCrossSectionArea() { return *entity->getArgument(14); } +bool IfcReinforcingMesh::hasTransverseBarCrossSectionArea() const { return !entity->getArgument(14)->isNull(); } +IfcAreaMeasure IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } void IfcReinforcingMesh::setTransverseBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcReinforcingMesh::hasLongitudinalBarSpacing() { return !entity->getArgument(15)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarSpacing() { return *entity->getArgument(15); } +bool IfcReinforcingMesh::hasLongitudinalBarSpacing() const { return !entity->getArgument(15)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } void IfcReinforcingMesh::setLongitudinalBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcReinforcingMesh::hasTransverseBarSpacing() { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarSpacing() { return *entity->getArgument(16); } +bool IfcReinforcingMesh::hasTransverseBarSpacing() const { return !entity->getArgument(16)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } void IfcReinforcingMesh::setTransverseBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcReinforcingMesh::hasPredefinedType() { return !entity->getArgument(17)->isNull(); } -IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum IfcReinforcingMesh::PredefinedType() { return IfcReinforcingMeshTypeEnum::FromString(*entity->getArgument(17)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMesh::IfcReinforcingMesh(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v12_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v13_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v14_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v15_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v16_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingMesh::IfcReinforcingMesh(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v12_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v13_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v14_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v15_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v16_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } if (v12_LongitudinalBarNominalDiameter) { e->setArgument(11,(*v12_LongitudinalBarNominalDiameter)); } else { e->setArgument(11); } if (v13_TransverseBarNominalDiameter) { e->setArgument(12,(*v13_TransverseBarNominalDiameter)); } else { e->setArgument(12); } if (v14_LongitudinalBarCrossSectionArea) { e->setArgument(13,(*v14_LongitudinalBarCrossSectionArea)); } else { e->setArgument(13); } if (v15_TransverseBarCrossSectionArea) { e->setArgument(14,(*v15_TransverseBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_LongitudinalBarSpacing) { e->setArgument(15,(*v16_LongitudinalBarSpacing)); } else { e->setArgument(15); } if (v17_TransverseBarSpacing) { e->setArgument(16,(*v17_TransverseBarSpacing)); } else { e->setArgument(16); } if (v18_PredefinedType) { e->setArgument(17,*v18_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMeshType -IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum IfcReinforcingMeshType::PredefinedType() { return IfcReinforcingMeshTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::MeshLength() { return *entity->getArgument(10); } +bool IfcReinforcingMeshType::hasMeshLength() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMeshType::MeshLength() const { return *entity->getArgument(10); } void IfcReinforcingMeshType::setMeshLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcReinforcingMeshType::hasMeshWidth() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::MeshWidth() { return *entity->getArgument(11); } +bool IfcReinforcingMeshType::hasMeshWidth() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMeshType::MeshWidth() const { return *entity->getArgument(11); } void IfcReinforcingMeshType::setMeshWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcReinforcingMeshType::hasLongitudinalBarNominalDiameter() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::LongitudinalBarNominalDiameter() { return *entity->getArgument(12); } +bool IfcReinforcingMeshType::hasLongitudinalBarNominalDiameter() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { return *entity->getArgument(12); } void IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcReinforcingMeshType::hasTransverseBarNominalDiameter() { return !entity->getArgument(13)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::TransverseBarNominalDiameter() { return *entity->getArgument(13); } +bool IfcReinforcingMeshType::hasTransverseBarNominalDiameter() const { return !entity->getArgument(13)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMeshType::TransverseBarNominalDiameter() const { return *entity->getArgument(13); } void IfcReinforcingMeshType::setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcReinforcingMeshType::hasLongitudinalBarCrossSectionArea() { return !entity->getArgument(14)->isNull(); } -IfcAreaMeasure IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() { return *entity->getArgument(14); } +bool IfcReinforcingMeshType::hasLongitudinalBarCrossSectionArea() const { return !entity->getArgument(14)->isNull(); } +IfcAreaMeasure IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(14); } void IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcReinforcingMeshType::hasTransverseBarCrossSectionArea() { return !entity->getArgument(15)->isNull(); } -IfcAreaMeasure IfcReinforcingMeshType::TransverseBarCrossSectionArea() { return *entity->getArgument(15); } +bool IfcReinforcingMeshType::hasTransverseBarCrossSectionArea() const { return !entity->getArgument(15)->isNull(); } +IfcAreaMeasure IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { return *entity->getArgument(15); } void IfcReinforcingMeshType::setTransverseBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcReinforcingMeshType::hasLongitudinalBarSpacing() { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::LongitudinalBarSpacing() { return *entity->getArgument(16); } +bool IfcReinforcingMeshType::hasLongitudinalBarSpacing() const { return !entity->getArgument(16)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMeshType::LongitudinalBarSpacing() const { return *entity->getArgument(16); } void IfcReinforcingMeshType::setLongitudinalBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcReinforcingMeshType::hasTransverseBarSpacing() { return !entity->getArgument(17)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::TransverseBarSpacing() { return *entity->getArgument(17); } +bool IfcReinforcingMeshType::hasTransverseBarSpacing() const { return !entity->getArgument(17)->isNull(); } +IfcPositiveLengthMeasure IfcReinforcingMeshType::TransverseBarSpacing() const { return *entity->getArgument(17); } void IfcReinforcingMeshType::setTransverseBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcReinforcingMeshType::hasBendingShapeCode() { return !entity->getArgument(18)->isNull(); } -IfcLabel IfcReinforcingMeshType::BendingShapeCode() { return *entity->getArgument(18); } +bool IfcReinforcingMeshType::hasBendingShapeCode() const { return !entity->getArgument(18)->isNull(); } +IfcLabel IfcReinforcingMeshType::BendingShapeCode() const { return *entity->getArgument(18); } void IfcReinforcingMeshType::setBendingShapeCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcReinforcingMeshType::hasBendingParameters() { return !entity->getArgument(19)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcReinforcingMeshType::BendingParameters() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,19) } -void IfcReinforcingMeshType::setBendingParameters(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v->generalize()); } +bool IfcReinforcingMeshType::hasBendingParameters() const { return !entity->getArgument(19)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcReinforcingMeshType::BendingParameters() const { IfcEntityList::ptr es = *entity->getArgument(19); return es->as(); } +void IfcReinforcingMeshType::setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v->generalize()); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMeshType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMeshType::IfcReinforcingMeshType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_MeshLength, boost::optional< IfcPositiveLengthMeasure > v12_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v13_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v14_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v15_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v16_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v17_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v18_TransverseBarSpacing, boost::optional< IfcLabel > v19_BendingShapeCode, boost::optional< IfcEntities > v20_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMeshType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReinforcingMeshType::IfcReinforcingMeshType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_MeshLength, boost::optional< IfcPositiveLengthMeasure > v12_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v13_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v14_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v15_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v16_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v17_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v18_TransverseBarSpacing, boost::optional< IfcLabel > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType)); if (v11_MeshLength) { e->setArgument(10,(*v11_MeshLength)); } else { e->setArgument(10); } if (v12_MeshWidth) { e->setArgument(11,(*v12_MeshWidth)); } else { e->setArgument(11); } if (v13_LongitudinalBarNominalDiameter) { e->setArgument(12,(*v13_LongitudinalBarNominalDiameter)); } else { e->setArgument(12); } if (v14_TransverseBarNominalDiameter) { e->setArgument(13,(*v14_TransverseBarNominalDiameter)); } else { e->setArgument(13); } if (v15_LongitudinalBarCrossSectionArea) { e->setArgument(14,(*v15_LongitudinalBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_TransverseBarCrossSectionArea) { e->setArgument(15,(*v16_TransverseBarCrossSectionArea)); } else { e->setArgument(15); } if (v17_LongitudinalBarSpacing) { e->setArgument(16,(*v17_LongitudinalBarSpacing)); } else { e->setArgument(16); } if (v18_TransverseBarSpacing) { e->setArgument(17,(*v18_TransverseBarSpacing)); } else { e->setArgument(17); } if (v19_BendingShapeCode) { e->setArgument(18,(*v19_BendingShapeCode)); } else { e->setArgument(18); } if (v20_BendingParameters) { e->setArgument(19,(*v20_BendingParameters)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAggregates -IfcObjectDefinition* IfcRelAggregates::RelatingObject() { return (IfcObjectDefinition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelAggregates::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,5) } -void IfcRelAggregates::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAggregates::IfcRelAggregates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAggregates::IfcRelAggregates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssigns -SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelAssigns::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,4) } -void IfcRelAssigns::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -bool IfcRelAssigns::hasRelatedObjectsType() { return !entity->getArgument(5)->isNull(); } -IfcObjectTypeEnum::IfcObjectTypeEnum IfcRelAssigns::RelatedObjectsType() { return IfcObjectTypeEnum::FromString(*entity->getArgument(5)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssigns::IfcRelAssigns(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssigns::IfcRelAssigns(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToActor -IfcActor* IfcRelAssignsToActor::RelatingActor() { return (IfcActor*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcActorRole* IfcRelAssignsToActor::ActingRole() { return (IfcActorRole*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToActor::IfcRelAssignsToActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToActor::IfcRelAssignsToActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToControl -IfcControl* IfcRelAssignsToControl::RelatingControl() { return (IfcControl*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToControl::IfcRelAssignsToControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToControl::IfcRelAssignsToControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroup -IfcGroup* IfcRelAssignsToGroup::RelatingGroup() { return (IfcGroup*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroupByFactor -IfcRatioMeasure IfcRelAssignsToGroupByFactor::Factor() { return *entity->getArgument(7); } +IfcRatioMeasure IfcRelAssignsToGroupByFactor::Factor() const { return *entity->getArgument(7); } void IfcRelAssignsToGroupByFactor::setFactor(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssignsToGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroupByFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, IfcRatioMeasure v8_Factor) : IfcRelAssignsToGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroupByFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, IfcRatioMeasure v8_Factor) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); e->setArgument(7,(v8_Factor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProcess -IfcProcessSelect IfcRelAssignsToProcess::RelatingProcess() { return *entity->getArgument(6); } +IfcProcessSelect IfcRelAssignsToProcess::RelatingProcess() const { return *entity->getArgument(6); } void IfcRelAssignsToProcess::setRelatingProcess(IfcProcessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcRelAssignsToProcess::hasQuantityInProcess() { return !entity->getArgument(7)->isNull(); } -IfcMeasureWithUnit* IfcRelAssignsToProcess::QuantityInProcess() { return (IfcMeasureWithUnit*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProduct -IfcProductSelect IfcRelAssignsToProduct::RelatingProduct() { return *entity->getArgument(6); } +IfcProductSelect IfcRelAssignsToProduct::RelatingProduct() const { return *entity->getArgument(6); } void IfcRelAssignsToProduct::setRelatingProduct(IfcProductSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToResource -IfcResourceSelect IfcRelAssignsToResource::RelatingResource() { return *entity->getArgument(6); } +IfcResourceSelect IfcRelAssignsToResource::RelatingResource() const { return *entity->getArgument(6); } void IfcRelAssignsToResource::setRelatingResource(IfcResourceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssigns((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToResource::IfcRelAssignsToResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssignsToResource::IfcRelAssignsToResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociates -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcRelAssociates::RelatedObjects() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,4) } -void IfcRelAssociates::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcRelAssociates::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } +void IfcRelAssociates::setRelatedObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociates::IfcRelAssociates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociates::IfcRelAssociates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesApproval -IfcApproval* IfcRelAssociatesApproval::RelatingApproval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesClassification -IfcClassificationSelect IfcRelAssociatesClassification::RelatingClassification() { return *entity->getArgument(5); } +IfcClassificationSelect IfcRelAssociatesClassification::RelatingClassification() const { return *entity->getArgument(5); } void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcClassificationSelect v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesConstraint -bool IfcRelAssociatesConstraint::hasIntent() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcRelAssociatesConstraint::Intent() { return *entity->getArgument(5); } +bool IfcRelAssociatesConstraint::hasIntent() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } void IfcRelAssociatesConstraint::setIntent(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelAssociatesConstraint::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssociatesConstraint::is(Type::Enum v) const { return v == Type::IfcRelAssociatesConstraint || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesConstraint::type() const { return Type::IfcRelAssociatesConstraint; } Type::Enum IfcRelAssociatesConstraint::Class() { return Type::IfcRelAssociatesConstraint; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, boost::optional< IfcLabel > v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< IfcLabel > v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); if (v6_Intent) { e->setArgument(5,(*v6_Intent)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesDocument -IfcDocumentSelect IfcRelAssociatesDocument::RelatingDocument() { return *entity->getArgument(5); } +IfcDocumentSelect IfcRelAssociatesDocument::RelatingDocument() const { return *entity->getArgument(5); } void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesLibrary -IfcLibrarySelect IfcRelAssociatesLibrary::RelatingLibrary() { return *entity->getArgument(5); } +IfcLibrarySelect IfcRelAssociatesLibrary::RelatingLibrary() const { return *entity->getArgument(5); } void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesMaterial -IfcMaterialSelect IfcRelAssociatesMaterial::RelatingMaterial() { return *entity->getArgument(5); } +IfcMaterialSelect IfcRelAssociatesMaterial::RelatingMaterial() const { return *entity->getArgument(5); } void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelAssociates((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnects::IfcRelConnects(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnects::IfcRelConnects(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsElements -bool IfcRelConnectsElements::hasConnectionGeometry() { return !entity->getArgument(4)->isNull(); } -IfcConnectionGeometry* IfcRelConnectsElements::ConnectionGeometry() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcElement* IfcRelConnectsElements::RelatingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } -IfcElement* IfcRelConnectsElements::RelatedElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsElements::IfcRelConnectsElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsElements::IfcRelConnectsElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements -std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() { return *entity->getArgument(7); } +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); } -std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() { return *entity->getArgument(8); } +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); } -IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } +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)); } -IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement -IfcPort* IfcRelConnectsPortToElement::RelatingPort() { return (IfcPort*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcDistributionElement* IfcRelConnectsPortToElement::RelatedElement() { return (IfcDistributionElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPorts -IfcPort* IfcRelConnectsPorts::RelatingPort() { return (IfcPort*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcPort* IfcRelConnectsPorts::RelatedPort() { return (IfcPort*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcElement* IfcRelConnectsPorts::RealizingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPorts::IfcRelConnectsPorts(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsPorts::IfcRelConnectsPorts(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralActivity -IfcStructuralActivityAssignmentSelect IfcRelConnectsStructuralActivity::RelatingElement() { return *entity->getArgument(4); } +IfcStructuralActivityAssignmentSelect IfcRelConnectsStructuralActivity::RelatingElement() const { return *entity->getArgument(4); } void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() { return (IfcStructuralActivity*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(IfcStructuralActivity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelConnectsStructuralActivity::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralActivity || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralActivity::type() const { return Type::IfcRelConnectsStructuralActivity; } Type::Enum IfcRelConnectsStructuralActivity::Class() { return Type::IfcRelConnectsStructuralActivity; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralMember -IfcStructuralMember* IfcRelConnectsStructuralMember::RelatingStructuralMember() { return (IfcStructuralMember*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcStructuralConnection* IfcRelConnectsStructuralMember::RelatedStructuralConnection() { return (IfcStructuralConnection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcBoundaryCondition* IfcRelConnectsStructuralMember::AppliedCondition() { return (IfcBoundaryCondition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcStructuralConnectionCondition* IfcRelConnectsStructuralMember::AdditionalConditions() { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLengthMeasure IfcRelConnectsStructuralMember::SupportedLength() { return *entity->getArgument(8); } +bool IfcRelConnectsStructuralMember::hasSupportedLength() const { return !entity->getArgument(8)->isNull(); } +IfcLengthMeasure IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } void IfcRelConnectsStructuralMember::setSupportedLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() { return !entity->getArgument(9)->isNull(); } -IfcAxis2Placement3D* IfcRelConnectsStructuralMember::ConditionCoordinateSystem() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithEccentricity -IfcConnectionGeometry* IfcRelConnectsWithEccentricity::ConnectionConstraint() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnectsStructuralMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithRealizingElements -SHARED_PTR< IfcTemplatedEntityList< IfcElement > > IfcRelConnectsWithRealizingElements::RealizingElements() { RETURN_AS_LIST(IfcElement,7) } -void IfcRelConnectsWithRealizingElements::setRealizingElements(SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcRelConnectsWithRealizingElements::hasConnectionType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() { return *entity->getArgument(8); } +IfcTemplatedEntityList< IfcElement >::ptr IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +bool IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } void IfcRelConnectsWithRealizingElements::setConnectionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelContainedInSpatialStructure -SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > IfcRelContainedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } -void IfcRelContainedInSpatialStructure::setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcSpatialElement* IfcRelContainedInSpatialStructure::RelatingStructure() { return (IfcSpatialElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversBldgElements -IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > IfcRelCoversBldgElements::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } -void IfcRelCoversBldgElements::setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRelCoversBldgElements || IfcRelConnects::is(v); } Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversSpaces -IfcSpace* IfcRelCoversSpaces::RelatingSpace() { return (IfcSpace*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > IfcRelCoversSpaces::RelatedCoverings() { RETURN_AS_LIST(IfcCovering,5) } -void IfcRelCoversSpaces::setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCoversSpaces || IfcRelConnects::is(v); } Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } -IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversSpaces::IfcRelCoversSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelCoversSpaces::IfcRelCoversSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDeclares -IfcContext* IfcRelDeclares::RelatingContext() { return (IfcContext*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcRelDeclares::RelatedDefinitions() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,5) } -void IfcRelDeclares::setRelatedDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcRelDeclares::RelatedDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } +void IfcRelDeclares::setRelatedDefinitions(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDeclares)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDeclares::IfcRelDeclares(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcContext* v5_RelatingContext, IfcEntities v6_RelatedDefinitions) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDeclares)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDeclares::IfcRelDeclares(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingContext)); e->setArgument(5,(v6_RelatedDefinitions)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDecomposes::IfcRelDecomposes(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDecomposes::IfcRelDecomposes(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefines::IfcRelDefines(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefines::IfcRelDefines(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByObject -SHARED_PTR< IfcTemplatedEntityList< IfcObject > > IfcRelDefinesByObject::RelatedObjects() { RETURN_AS_LIST(IfcObject,4) } -void IfcRelDefinesByObject::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcObject* IfcRelDefinesByObject::RelatingObject() { return (IfcObject*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDefines((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByObject::IfcRelDefinesByObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcObject* v6_RelatingObject) : IfcRelDefines((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefinesByObject::IfcRelDefinesByObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingObject)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByProperties -SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelDefinesByProperties::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,4) } -void IfcRelDefinesByProperties::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcPropertySetDefinitionSelect IfcRelDefinesByProperties::RelatingPropertyDefinition() { return *entity->getArgument(5); } +IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelDefinesByProperties::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } +void IfcRelDefinesByProperties::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +IfcPropertySetDefinitionSelect IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return *entity->getArgument(5); } void IfcRelDefinesByProperties::setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRelDefines((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByTemplate -SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > IfcRelDefinesByTemplate::RelatedPropertySets() { RETURN_AS_LIST(IfcPropertySetDefinition,4) } -void IfcRelDefinesByTemplate::setRelatedPropertySets(SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcPropertySetTemplate* IfcRelDefinesByTemplate::RelatingTemplate() { return (IfcPropertySetTemplate*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDefines((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedPropertySets)->generalize()); e->setArgument(5,(v6_RelatingTemplate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByType -SHARED_PTR< IfcTemplatedEntityList< IfcObject > > IfcRelDefinesByType::RelatedObjects() { RETURN_AS_LIST(IfcObject,4) } -void IfcRelDefinesByType::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcTypeObject* IfcRelDefinesByType::RelatingType() { return (IfcTypeObject*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDefines((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByType::IfcRelDefinesByType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelDefinesByType::IfcRelDefinesByType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFillsElement -IfcOpeningElement* IfcRelFillsElement::RelatingOpeningElement() { return (IfcOpeningElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcElement* IfcRelFillsElement::RelatedBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFillsElement::IfcRelFillsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelFillsElement::IfcRelFillsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFlowControlElements -SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > IfcRelFlowControlElements::RelatedControlElements() { RETURN_AS_LIST(IfcDistributionControlElement,4) } -void IfcRelFlowControlElements::setRelatedControlElements(SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcDistributionFlowElement* IfcRelFlowControlElements::RelatingFlowElement() { return (IfcDistributionFlowElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFlowControlElements::IfcRelFlowControlElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelFlowControlElements::IfcRelFlowControlElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelInterferesElements -IfcElement* IfcRelInterferesElements::RelatingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcElement* IfcRelInterferesElements::RelatedElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcConnectionGeometry* IfcRelInterferesElements::InterferenceGeometry() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcIdentifier IfcRelInterferesElements::InterferenceType() { return *entity->getArgument(7); } +bool IfcRelInterferesElements::hasInterferenceType() const { return !entity->getArgument(7)->isNull(); } +IfcIdentifier IfcRelInterferesElements::InterferenceType() const { return *entity->getArgument(7); } void IfcRelInterferesElements::setInterferenceType(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcRelInterferesElements::ImpliedOrder() { return *entity->getArgument(8); } +bool IfcRelInterferesElements::ImpliedOrder() const { return *entity->getArgument(8); } void IfcRelInterferesElements::setImpliedOrder(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelInterferesElements::is(Type::Enum v) const { return v == Type::IfcRelInterferesElements || IfcRelConnects::is(v); } Type::Enum IfcRelInterferesElements::type() const { return Type::IfcRelInterferesElements; } Type::Enum IfcRelInterferesElements::Class() { return Type::IfcRelInterferesElements; } -IfcRelInterferesElements::IfcRelInterferesElements(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelInterferesElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelInterferesElements::IfcRelInterferesElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< IfcIdentifier > v8_InterferenceType, bool v9_ImpliedOrder) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelInterferesElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelInterferesElements::IfcRelInterferesElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< IfcIdentifier > v8_InterferenceType, bool v9_ImpliedOrder) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedElement)); e->setArgument(6,(v7_InterferenceGeometry)); if (v8_InterferenceType) { e->setArgument(7,(*v8_InterferenceType)); } else { e->setArgument(7); } e->setArgument(8,(v9_ImpliedOrder)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelNests -IfcObjectDefinition* IfcRelNests::RelatingObject() { return (IfcObjectDefinition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > IfcRelNests::RelatedObjects() { RETURN_AS_LIST(IfcObjectDefinition,5) } -void IfcRelNests::setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelNests::IfcRelNests(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelNests::IfcRelNests(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelProjectsElement -IfcElement* IfcRelProjectsElement::RelatingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcFeatureElementAddition* IfcRelProjectsElement::RelatedFeatureElement() { return (IfcFeatureElementAddition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelProjectsElement::IfcRelProjectsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelProjectsElement::IfcRelProjectsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelReferencedInSpatialStructure -SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > IfcRelReferencedInSpatialStructure::RelatedElements() { RETURN_AS_LIST(IfcProduct,4) } -void IfcRelReferencedInSpatialStructure::setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcSpatialElement* IfcRelReferencedInSpatialStructure::RelatingStructure() { return (IfcSpatialElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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()); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSequence -IfcProcess* IfcRelSequence::RelatingProcess() { return (IfcProcess*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +IfcProcess* IfcRelSequence::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcRelSequence::setRelatingProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcProcess* IfcRelSequence::RelatedProcess() { return (IfcProcess*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcLagTime* IfcRelSequence::TimeLag() { return (IfcLagTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcRelSequence::UserDefinedSequenceType() { return *entity->getArgument(8); } +bool IfcRelSequence::hasUserDefinedSequenceType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcRelSequence::UserDefinedSequenceType() const { return *entity->getArgument(8); } void IfcRelSequence::setUserDefinedSequenceType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSequence::IfcRelSequence(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< IfcLabel > v9_UserDefinedSequenceType) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSequence::IfcRelSequence(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< IfcLabel > v9_UserDefinedSequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); if (v8_SequenceType) { e->setArgument(7,*v8_SequenceType,IfcSequenceEnum::ToString(*v8_SequenceType)); } else { e->setArgument(7); } if (v9_UserDefinedSequenceType) { e->setArgument(8,(*v9_UserDefinedSequenceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelServicesBuildings -IfcSystem* IfcRelServicesBuildings::RelatingSystem() { return (IfcSystem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > IfcRelServicesBuildings::RelatedBuildings() { RETURN_AS_LIST(IfcSpatialElement,5) } -void IfcRelServicesBuildings::setRelatedBuildings(SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelServicesBuildings::IfcRelServicesBuildings(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelServicesBuildings::IfcRelServicesBuildings(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary -IfcSpaceBoundarySelect IfcRelSpaceBoundary::RelatingSpace() { return *entity->getArgument(4); } +IfcSpaceBoundarySelect IfcRelSpaceBoundary::RelatingSpace() const { return *entity->getArgument(4); } void IfcRelSpaceBoundary::setRelatingSpace(IfcSpaceBoundarySelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcElement* IfcRelSpaceBoundary::RelatedBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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() { return !entity->getArgument(6)->isNull(); } -IfcConnectionGeometry* IfcRelSpaceBoundary::ConnectionGeometry() { return (IfcConnectionGeometry*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() { return IfcPhysicalOrVirtualEnum::FromString(*entity->getArgument(7)); } +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)); } -IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcRelSpaceBoundary::InternalOrExternalBoundary() { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcRelConnects((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary1stLevel -bool IfcRelSpaceBoundary1stLevel::hasParentBoundary() { return !entity->getArgument(9)->isNull(); } -IfcRelSpaceBoundary1stLevel* IfcRelSpaceBoundary1stLevel::ParentBoundary() { return (IfcRelSpaceBoundary1stLevel*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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); } -IfcRelSpaceBoundary1stLevel::list IfcRelSpaceBoundary1stLevel::InnerBoundaries() { RETURN_INVERSE(IfcRelSpaceBoundary1stLevel) } +IfcRelSpaceBoundary1stLevel::list::ptr IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { return entity->getInverse(Type::IfcRelSpaceBoundary1stLevel)->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(IfcAbstractEntityPtr e) : IfcRelSpaceBoundary((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary1stLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary1stLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary2ndLevel -bool IfcRelSpaceBoundary2ndLevel::hasCorrespondingBoundary() { return !entity->getArgument(10)->isNull(); } -IfcRelSpaceBoundary2ndLevel* IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() { return (IfcRelSpaceBoundary2ndLevel*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(10))); } +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); } -IfcRelSpaceBoundary2ndLevel::list IfcRelSpaceBoundary2ndLevel::Corresponds() { RETURN_INVERSE(IfcRelSpaceBoundary2ndLevel) } +IfcRelSpaceBoundary2ndLevel::list::ptr IfcRelSpaceBoundary2ndLevel::Corresponds() const { return entity->getInverse(Type::IfcRelSpaceBoundary2ndLevel)->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(IfcAbstractEntityPtr e) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary2ndLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary2ndLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); e->setArgument(10,(v11_CorrespondingBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelVoidsElement -IfcElement* IfcRelVoidsElement::RelatingBuildingElement() { return (IfcElement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -IfcFeatureElementSubtraction* IfcRelVoidsElement::RelatedOpeningElement() { return (IfcFeatureElementSubtraction*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelVoidsElement::IfcRelVoidsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelVoidsElement::IfcRelVoidsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcRoot((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelationship::IfcRelationship(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); 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(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRelationship::IfcRelationship(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReparametrisedCompositeCurveSegment -IfcParameterValue IfcReparametrisedCompositeCurveSegment::ParamLength() { return *entity->getArgument(3); } +IfcParameterValue IfcReparametrisedCompositeCurveSegment::ParamLength() const { return *entity->getArgument(3); } void IfcReparametrisedCompositeCurveSegment::setParamLength(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcReparametrisedCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcReparametrisedCompositeCurveSegment || IfcCompositeCurveSegment::is(v); } Type::Enum IfcReparametrisedCompositeCurveSegment::type() const { return Type::IfcReparametrisedCompositeCurveSegment; } Type::Enum IfcReparametrisedCompositeCurveSegment::Class() { return Type::IfcReparametrisedCompositeCurveSegment; } -IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcAbstractEntityPtr e) : IfcCompositeCurveSegment((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcReparametrisedCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, IfcParameterValue v4_ParamLength) : IfcCompositeCurveSegment((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); e->setArgument(3,(v4_ParamLength)); entity = e; EntityBuffer::Add(this); } +IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcAbstractEntity* e) : IfcCompositeCurveSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReparametrisedCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, IfcParameterValue v4_ParamLength) : IfcCompositeCurveSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); e->setArgument(3,(v4_ParamLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentation -IfcRepresentationContext* IfcRepresentation::ContextOfItems() { return (IfcRepresentationContext*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentation::RepresentationIdentifier() { return *entity->getArgument(1); } +bool IfcRepresentation::hasRepresentationIdentifier() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } void IfcRepresentation::setRepresentationIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcRepresentation::hasRepresentationType() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRepresentation::RepresentationType() { return *entity->getArgument(2); } +bool IfcRepresentation::hasRepresentationType() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } void IfcRepresentation::setRepresentationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > IfcRepresentation::Items() { RETURN_AS_LIST(IfcRepresentationItem,3) } -void IfcRepresentation::setItems(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } -IfcRepresentationMap::list IfcRepresentation::RepresentationMap() { RETURN_INVERSE(IfcRepresentationMap) } -IfcPresentationLayerAssignment::list IfcRepresentation::LayerAssignments() { RETURN_INVERSE(IfcPresentationLayerAssignment) } -IfcProductRepresentation::list IfcRepresentation::OfProductRepresentation() { RETURN_INVERSE(IfcProductRepresentation) } +IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return entity->getInverse(Type::IfcRepresentationMap)->as(); } +IfcPresentationLayerAssignment::list::ptr IfcRepresentation::LayerAssignments() const { return entity->getInverse(Type::IfcPresentationLayerAssignment)->as(); } +IfcProductRepresentation::list::ptr IfcRepresentation::OfProductRepresentation() const { return entity->getInverse(Type::IfcProductRepresentation)->as(); } bool IfcRepresentation::is(Type::Enum v) const { return v == Type::IfcRepresentation; } Type::Enum IfcRepresentation::type() const { return Type::IfcRepresentation; } Type::Enum IfcRepresentation::Class() { return Type::IfcRepresentation; } -IfcRepresentation::IfcRepresentation(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRepresentation::IfcRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationContext -bool IfcRepresentationContext::hasContextIdentifier() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcRepresentationContext::ContextIdentifier() { return *entity->getArgument(0); } +bool IfcRepresentationContext::hasContextIdentifier() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } void IfcRepresentationContext::setContextIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRepresentationContext::hasContextType() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentationContext::ContextType() { return *entity->getArgument(1); } +bool IfcRepresentationContext::hasContextType() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } void IfcRepresentationContext::setContextType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcRepresentation::list IfcRepresentationContext::RepresentationsInContext() { RETURN_INVERSE(IfcRepresentation) } +IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return entity->getInverse(Type::IfcRepresentation)->as(); } bool IfcRepresentationContext::is(Type::Enum v) const { return v == Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::type() const { return Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::Class() { return Type::IfcRepresentationContext; } -IfcRepresentationContext::IfcRepresentationContext(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentationContext::IfcRepresentationContext(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRepresentationContext::IfcRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationItem -IfcPresentationLayerAssignment::list IfcRepresentationItem::LayerAssignment() { RETURN_INVERSE(IfcPresentationLayerAssignment) } -IfcStyledItem::list IfcRepresentationItem::StyledByItem() { RETURN_INVERSE(IfcStyledItem) } +IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignment() const { return entity->getInverse(Type::IfcPresentationLayerAssignment)->as(); } +IfcStyledItem::list::ptr IfcRepresentationItem::StyledByItem() const { return entity->getInverse(Type::IfcStyledItem)->as(); } bool IfcRepresentationItem::is(Type::Enum v) const { return v == Type::IfcRepresentationItem; } Type::Enum IfcRepresentationItem::type() const { return Type::IfcRepresentationItem; } Type::Enum IfcRepresentationItem::Class() { return Type::IfcRepresentationItem; } -IfcRepresentationItem::IfcRepresentationItem(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentationItem::IfcRepresentationItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationMap -IfcAxis2Placement IfcRepresentationMap::MappingOrigin() { return *entity->getArgument(0); } +IfcAxis2Placement IfcRepresentationMap::MappingOrigin() const { return *entity->getArgument(0); } void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcRepresentation* IfcRepresentationMap::MappedRepresentation() { return (IfcRepresentation*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcShapeAspect::list IfcRepresentationMap::HasShapeAspects() { RETURN_INVERSE(IfcShapeAspect) } -IfcMappedItem::list IfcRepresentationMap::MapUsage() { RETURN_INVERSE(IfcMappedItem) } +IfcShapeAspect::list::ptr IfcRepresentationMap::HasShapeAspects() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } +IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return entity->getInverse(Type::IfcMappedItem)->as(); } bool IfcRepresentationMap::is(Type::Enum v) const { return v == Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::type() const { return Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::Class() { return Type::IfcRepresentationMap; } -IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResource -bool IfcResource::hasIdentification() { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcResource::Identification() { return *entity->getArgument(5); } +bool IfcResource::hasIdentification() const { return !entity->getArgument(5)->isNull(); } +IfcIdentifier IfcResource::Identification() const { return *entity->getArgument(5); } void IfcResource::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcResource::hasLongDescription() { return !entity->getArgument(6)->isNull(); } -IfcText IfcResource::LongDescription() { return *entity->getArgument(6); } +bool IfcResource::hasLongDescription() const { return !entity->getArgument(6)->isNull(); } +IfcText IfcResource::LongDescription() const { return *entity->getArgument(6); } void IfcResource::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcRelAssignsToResource::list IfcResource::ResourceOf() { RETURN_INVERSE(IfcRelAssignsToResource) } +IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource)->as(); } bool IfcResource::is(Type::Enum v) const { return v == Type::IfcResource || IfcObject::is(v); } Type::Enum IfcResource::type() const { return Type::IfcResource; } Type::Enum IfcResource::Class() { return Type::IfcResource; } -IfcResource::IfcResource(IfcAbstractEntityPtr e) : IfcObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResource::IfcResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription) : IfcObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcResource::IfcResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceApprovalRelationship -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcResourceApprovalRelationship::RelatedResourceObjects() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcResourceApprovalRelationship::setRelatedResourceObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -IfcApproval* IfcResourceApprovalRelationship::RelatingApproval() { return (IfcApproval*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcResourceApprovalRelationship::RelatedResourceObjects() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcResourceApprovalRelationship::setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcApproval* IfcResourceApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcResourceApprovalRelationship::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcResourceApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcResourceApprovalRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcResourceApprovalRelationship::type() const { return Type::IfcResourceApprovalRelationship; } Type::Enum IfcResourceApprovalRelationship::Class() { return Type::IfcResourceApprovalRelationship; } -IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcResourceApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatedResourceObjects)); e->setArgument(3,(v4_RelatingApproval)); entity = e; EntityBuffer::Add(this); } +IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResourceApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatedResourceObjects)); e->setArgument(3,(v4_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceConstraintRelationship -IfcConstraint* IfcResourceConstraintRelationship::RelatingConstraint() { return (IfcConstraint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcResourceConstraintRelationship::RelatedResourceObjects() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,3) } -void IfcResourceConstraintRelationship::setRelatedResourceObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcResourceConstraintRelationship::RelatedResourceObjects() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } +void IfcResourceConstraintRelationship::setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcResourceConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcResourceConstraintRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcResourceConstraintRelationship::type() const { return Type::IfcResourceConstraintRelationship; } Type::Enum IfcResourceConstraintRelationship::Class() { return Type::IfcResourceConstraintRelationship; } -IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcAbstractEntityPtr e) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcResourceConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntities v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } +IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResourceConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceLevelRelationship -bool IfcResourceLevelRelationship::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcResourceLevelRelationship::Name() { return *entity->getArgument(0); } +bool IfcResourceLevelRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcResourceLevelRelationship::Name() const { return *entity->getArgument(0); } void IfcResourceLevelRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcResourceLevelRelationship::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcResourceLevelRelationship::Description() { return *entity->getArgument(1); } +bool IfcResourceLevelRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcResourceLevelRelationship::Description() const { return *entity->getArgument(1); } void IfcResourceLevelRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcResourceLevelRelationship::is(Type::Enum v) const { return v == Type::IfcResourceLevelRelationship; } Type::Enum IfcResourceLevelRelationship::type() const { return Type::IfcResourceLevelRelationship; } Type::Enum IfcResourceLevelRelationship::Class() { return Type::IfcResourceLevelRelationship; } -IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcResourceLevelRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcResourceLevelRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceTime -bool IfcResourceTime::hasScheduleWork() { return !entity->getArgument(3)->isNull(); } -IfcDuration IfcResourceTime::ScheduleWork() { return *entity->getArgument(3); } +bool IfcResourceTime::hasScheduleWork() const { return !entity->getArgument(3)->isNull(); } +IfcDuration IfcResourceTime::ScheduleWork() const { return *entity->getArgument(3); } void IfcResourceTime::setScheduleWork(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcResourceTime::hasScheduleUsage() { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::ScheduleUsage() { return *entity->getArgument(4); } +bool IfcResourceTime::hasScheduleUsage() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveRatioMeasure IfcResourceTime::ScheduleUsage() const { return *entity->getArgument(4); } void IfcResourceTime::setScheduleUsage(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcResourceTime::hasScheduleStart() { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcResourceTime::ScheduleStart() { return *entity->getArgument(5); } +bool IfcResourceTime::hasScheduleStart() const { return !entity->getArgument(5)->isNull(); } +IfcDateTime IfcResourceTime::ScheduleStart() const { return *entity->getArgument(5); } void IfcResourceTime::setScheduleStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcResourceTime::hasScheduleFinish() { return !entity->getArgument(6)->isNull(); } -IfcDateTime IfcResourceTime::ScheduleFinish() { return *entity->getArgument(6); } +bool IfcResourceTime::hasScheduleFinish() const { return !entity->getArgument(6)->isNull(); } +IfcDateTime IfcResourceTime::ScheduleFinish() const { return *entity->getArgument(6); } void IfcResourceTime::setScheduleFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcResourceTime::hasScheduleContour() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcResourceTime::ScheduleContour() { return *entity->getArgument(7); } +bool IfcResourceTime::hasScheduleContour() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcResourceTime::ScheduleContour() const { return *entity->getArgument(7); } void IfcResourceTime::setScheduleContour(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcResourceTime::hasLevelingDelay() { return !entity->getArgument(8)->isNull(); } -IfcDuration IfcResourceTime::LevelingDelay() { return *entity->getArgument(8); } +bool IfcResourceTime::hasLevelingDelay() const { return !entity->getArgument(8)->isNull(); } +IfcDuration IfcResourceTime::LevelingDelay() const { return *entity->getArgument(8); } void IfcResourceTime::setLevelingDelay(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcResourceTime::hasIsOverAllocated() { return !entity->getArgument(9)->isNull(); } -bool IfcResourceTime::IsOverAllocated() { return *entity->getArgument(9); } +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() { return !entity->getArgument(10)->isNull(); } -IfcDateTime IfcResourceTime::StatusTime() { return *entity->getArgument(10); } +bool IfcResourceTime::hasStatusTime() const { return !entity->getArgument(10)->isNull(); } +IfcDateTime IfcResourceTime::StatusTime() const { return *entity->getArgument(10); } void IfcResourceTime::setStatusTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcResourceTime::hasActualWork() { return !entity->getArgument(11)->isNull(); } -IfcDuration IfcResourceTime::ActualWork() { return *entity->getArgument(11); } +bool IfcResourceTime::hasActualWork() const { return !entity->getArgument(11)->isNull(); } +IfcDuration IfcResourceTime::ActualWork() const { return *entity->getArgument(11); } void IfcResourceTime::setActualWork(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcResourceTime::hasActualUsage() { return !entity->getArgument(12)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::ActualUsage() { return *entity->getArgument(12); } +bool IfcResourceTime::hasActualUsage() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveRatioMeasure IfcResourceTime::ActualUsage() const { return *entity->getArgument(12); } void IfcResourceTime::setActualUsage(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcResourceTime::hasActualStart() { return !entity->getArgument(13)->isNull(); } -IfcDateTime IfcResourceTime::ActualStart() { return *entity->getArgument(13); } +bool IfcResourceTime::hasActualStart() const { return !entity->getArgument(13)->isNull(); } +IfcDateTime IfcResourceTime::ActualStart() const { return *entity->getArgument(13); } void IfcResourceTime::setActualStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcResourceTime::hasActualFinish() { return !entity->getArgument(14)->isNull(); } -IfcDateTime IfcResourceTime::ActualFinish() { return *entity->getArgument(14); } +bool IfcResourceTime::hasActualFinish() const { return !entity->getArgument(14)->isNull(); } +IfcDateTime IfcResourceTime::ActualFinish() const { return *entity->getArgument(14); } void IfcResourceTime::setActualFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcResourceTime::hasRemainingWork() { return !entity->getArgument(15)->isNull(); } -IfcDuration IfcResourceTime::RemainingWork() { return *entity->getArgument(15); } +bool IfcResourceTime::hasRemainingWork() const { return !entity->getArgument(15)->isNull(); } +IfcDuration IfcResourceTime::RemainingWork() const { return *entity->getArgument(15); } void IfcResourceTime::setRemainingWork(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcResourceTime::hasRemainingUsage() { return !entity->getArgument(16)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::RemainingUsage() { return *entity->getArgument(16); } +bool IfcResourceTime::hasRemainingUsage() const { return !entity->getArgument(16)->isNull(); } +IfcPositiveRatioMeasure IfcResourceTime::RemainingUsage() const { return *entity->getArgument(16); } void IfcResourceTime::setRemainingUsage(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcResourceTime::hasCompletion() { return !entity->getArgument(17)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::Completion() { return *entity->getArgument(17); } +bool IfcResourceTime::hasCompletion() const { return !entity->getArgument(17)->isNull(); } +IfcPositiveRatioMeasure IfcResourceTime::Completion() const { return *entity->getArgument(17); } void IfcResourceTime::setCompletion(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcResourceTime::is(Type::Enum v) const { return v == Type::IfcResourceTime || IfcSchedulingTime::is(v); } Type::Enum IfcResourceTime::type() const { return Type::IfcResourceTime; } Type::Enum IfcResourceTime::Class() { return Type::IfcResourceTime; } -IfcResourceTime::IfcResourceTime(IfcAbstractEntityPtr e) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcResourceTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceTime::IfcResourceTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDuration > v4_ScheduleWork, boost::optional< IfcPositiveRatioMeasure > v5_ScheduleUsage, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcLabel > v8_ScheduleContour, boost::optional< IfcDuration > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< IfcDateTime > v11_StatusTime, boost::optional< IfcDuration > v12_ActualWork, boost::optional< IfcPositiveRatioMeasure > v13_ActualUsage, boost::optional< IfcDateTime > v14_ActualStart, boost::optional< IfcDateTime > v15_ActualFinish, boost::optional< IfcDuration > v16_RemainingWork, boost::optional< IfcPositiveRatioMeasure > v17_RemainingUsage, boost::optional< IfcPositiveRatioMeasure > v18_Completion) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ScheduleWork) { e->setArgument(3,(*v4_ScheduleWork)); } else { e->setArgument(3); } if (v5_ScheduleUsage) { e->setArgument(4,(*v5_ScheduleUsage)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_ScheduleContour) { e->setArgument(7,(*v8_ScheduleContour)); } else { e->setArgument(7); } if (v9_LevelingDelay) { e->setArgument(8,(*v9_LevelingDelay)); } else { e->setArgument(8); } if (v10_IsOverAllocated) { e->setArgument(9,(*v10_IsOverAllocated)); } else { e->setArgument(9); } if (v11_StatusTime) { e->setArgument(10,(*v11_StatusTime)); } else { e->setArgument(10); } if (v12_ActualWork) { e->setArgument(11,(*v12_ActualWork)); } else { e->setArgument(11); } if (v13_ActualUsage) { e->setArgument(12,(*v13_ActualUsage)); } else { e->setArgument(12); } if (v14_ActualStart) { e->setArgument(13,(*v14_ActualStart)); } else { e->setArgument(13); } if (v15_ActualFinish) { e->setArgument(14,(*v15_ActualFinish)); } else { e->setArgument(14); } if (v16_RemainingWork) { e->setArgument(15,(*v16_RemainingWork)); } else { e->setArgument(15); } if (v17_RemainingUsage) { e->setArgument(16,(*v17_RemainingUsage)); } else { e->setArgument(16); } if (v18_Completion) { e->setArgument(17,(*v18_Completion)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } +IfcResourceTime::IfcResourceTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResourceTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcResourceTime::IfcResourceTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDuration > v4_ScheduleWork, boost::optional< IfcPositiveRatioMeasure > v5_ScheduleUsage, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcLabel > v8_ScheduleContour, boost::optional< IfcDuration > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< IfcDateTime > v11_StatusTime, boost::optional< IfcDuration > v12_ActualWork, boost::optional< IfcPositiveRatioMeasure > v13_ActualUsage, boost::optional< IfcDateTime > v14_ActualStart, boost::optional< IfcDateTime > v15_ActualFinish, boost::optional< IfcDuration > v16_RemainingWork, boost::optional< IfcPositiveRatioMeasure > v17_RemainingUsage, boost::optional< IfcPositiveRatioMeasure > v18_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ScheduleWork) { e->setArgument(3,(*v4_ScheduleWork)); } else { e->setArgument(3); } if (v5_ScheduleUsage) { e->setArgument(4,(*v5_ScheduleUsage)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_ScheduleContour) { e->setArgument(7,(*v8_ScheduleContour)); } else { e->setArgument(7); } if (v9_LevelingDelay) { e->setArgument(8,(*v9_LevelingDelay)); } else { e->setArgument(8); } if (v10_IsOverAllocated) { e->setArgument(9,(*v10_IsOverAllocated)); } else { e->setArgument(9); } if (v11_StatusTime) { e->setArgument(10,(*v11_StatusTime)); } else { e->setArgument(10); } if (v12_ActualWork) { e->setArgument(11,(*v12_ActualWork)); } else { e->setArgument(11); } if (v13_ActualUsage) { e->setArgument(12,(*v13_ActualUsage)); } else { e->setArgument(12); } if (v14_ActualStart) { e->setArgument(13,(*v14_ActualStart)); } else { e->setArgument(13); } if (v15_ActualFinish) { e->setArgument(14,(*v15_ActualFinish)); } else { e->setArgument(14); } if (v16_RemainingWork) { e->setArgument(15,(*v16_RemainingWork)); } else { e->setArgument(15); } if (v17_RemainingUsage) { e->setArgument(16,(*v17_RemainingUsage)); } else { e->setArgument(16); } if (v18_Completion) { e->setArgument(17,(*v18_Completion)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolid -IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() { return (IfcAxis1Placement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcRevolvedAreaSolid::setAxis(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPlaneAngleMeasure IfcRevolvedAreaSolid::Angle() { return *entity->getArgument(3); } +IfcPlaneAngleMeasure IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } void IfcRevolvedAreaSolid::setAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolidTapered -IfcProfileDef* IfcRevolvedAreaSolidTapered::EndSweptArea() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcRevolvedAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle, IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle, IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCone -IfcPositiveLengthMeasure IfcRightCircularCone::Height() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcRightCircularCone::Height() const { return *entity->getArgument(1); } void IfcRightCircularCone::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCone::BottomRadius() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } void IfcRightCircularCone::setBottomRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCone::is(Type::Enum v) const { return v == Type::IfcRightCircularCone || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCone::type() const { return Type::IfcRightCircularCone; } Type::Enum IfcRightCircularCone::Class() { return Type::IfcRightCircularCone; } -IfcRightCircularCone::IfcRightCircularCone(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCone::IfcRightCircularCone(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCylinder -IfcPositiveLengthMeasure IfcRightCircularCylinder::Height() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } void IfcRightCircularCylinder::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCylinder::Radius() { return *entity->getArgument(2); } +IfcPositiveLengthMeasure IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } void IfcRightCircularCylinder::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCylinder::is(Type::Enum v) const { return v == Type::IfcRightCircularCylinder || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCylinder::type() const { return Type::IfcRightCircularCylinder; } Type::Enum IfcRightCircularCylinder::Class() { return Type::IfcRightCircularCylinder; } -IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCylinder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCylinder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoof -bool IfcRoof::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoof::PredefinedType() { return IfcRoofTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoof::IfcRoof(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoof::IfcRoof(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRoofTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoofType -IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoofType::PredefinedType() { return IfcRoofTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRoofType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoofType::IfcRoofType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoofType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoofType::IfcRoofType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRoofTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoot -IfcGloballyUniqueId IfcRoot::GlobalId() { return *entity->getArgument(0); } +IfcGloballyUniqueId IfcRoot::GlobalId() const { return *entity->getArgument(0); } void IfcRoot::setGlobalId(IfcGloballyUniqueId v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcRoot::hasOwnerHistory() { return !entity->getArgument(1)->isNull(); } -IfcOwnerHistory* IfcRoot::OwnerHistory() { return (IfcOwnerHistory*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRoot::Name() { return *entity->getArgument(2); } +bool IfcRoot::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcRoot::Name() const { return *entity->getArgument(2); } void IfcRoot::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcRoot::hasDescription() { return !entity->getArgument(3)->isNull(); } -IfcText IfcRoot::Description() { return *entity->getArgument(3); } +bool IfcRoot::hasDescription() const { return !entity->getArgument(3)->isNull(); } +IfcText IfcRoot::Description() const { return *entity->getArgument(3); } void IfcRoot::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoot::IfcRoot(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcRoot::IfcRoot(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedRectangleProfileDef -IfcPositiveLengthMeasure IfcRoundedRectangleProfileDef::RoundingRadius() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } void IfcRoundedRectangleProfileDef::setRoundingRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcRectangleProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSIUnit -bool IfcSIUnit::hasPrefix() { return !entity->getArgument(2)->isNull(); } -IfcSIPrefix::IfcSIPrefix IfcSIUnit::Prefix() { return IfcSIPrefix::FromString(*entity->getArgument(2)); } +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)); } -IfcSIUnitName::IfcSIUnitName IfcSIUnit::Name() { return IfcSIUnitName::FromString(*entity->getArgument(3)); } +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)); } 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; } -IfcSIUnit::IfcSIUnit(IfcAbstractEntityPtr e) : IfcNamedUnit((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSIUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSIUnit::IfcSIUnit(IfcUnitEnum::IfcUnitEnum v2_UnitType, boost::optional< IfcSIPrefix::IfcSIPrefix > v3_Prefix, IfcSIUnitName::IfcSIUnitName v4_Name) : IfcNamedUnit((IfcAbstractEntityPtr)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); } +IfcSIUnit::IfcSIUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSIUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminal::PredefinedType() { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminal::IfcSanitaryTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSanitaryTerminal::IfcSanitaryTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSanitaryTerminalType -IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminalType::PredefinedType() { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSchedulingTime -bool IfcSchedulingTime::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcSchedulingTime::Name() { return *entity->getArgument(0); } +bool IfcSchedulingTime::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcSchedulingTime::Name() const { return *entity->getArgument(0); } void IfcSchedulingTime::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSchedulingTime::hasDataOrigin() { return !entity->getArgument(1)->isNull(); } -IfcDataOriginEnum::IfcDataOriginEnum IfcSchedulingTime::DataOrigin() { return IfcDataOriginEnum::FromString(*entity->getArgument(1)); } +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() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcSchedulingTime::UserDefinedDataOrigin() { return *entity->getArgument(2); } +bool IfcSchedulingTime::hasUserDefinedDataOrigin() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcSchedulingTime::UserDefinedDataOrigin() const { return *entity->getArgument(2); } void IfcSchedulingTime::setUserDefinedDataOrigin(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSchedulingTime::is(Type::Enum v) const { return v == Type::IfcSchedulingTime; } Type::Enum IfcSchedulingTime::type() const { return Type::IfcSchedulingTime; } Type::Enum IfcSchedulingTime::Class() { return Type::IfcSchedulingTime; } -IfcSchedulingTime::IfcSchedulingTime(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSchedulingTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSchedulingTime::IfcSchedulingTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSchedulingTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcSchedulingTime::IfcSchedulingTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionProperties -IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() { return IfcSectionTypeEnum::FromString(*entity->getArgument(0)); } +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)); } -IfcProfileDef* IfcSectionProperties::StartProfile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcProfileDef* IfcSectionProperties::EndProfile() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPreDefinedProperties((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcSectionReinforcementProperties -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalStartPosition() { return *entity->getArgument(0); } +IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } void IfcSectionReinforcementProperties::setLongitudinalStartPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalEndPosition() { return *entity->getArgument(1); } +IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } void IfcSectionReinforcementProperties::setLongitudinalEndPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSectionReinforcementProperties::hasTransversePosition() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() { return *entity->getArgument(2); } +bool IfcSectionReinforcementProperties::hasTransversePosition() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } void IfcSectionReinforcementProperties::setTransversePosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } +IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } void IfcSectionReinforcementProperties::setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v)); } -IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() { return (IfcSectionProperties*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() { RETURN_AS_LIST(IfcReinforcementBarProperties,5) } -void IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +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()); } 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; } -IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntityPtr e) : IfcPreDefinedProperties((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntity* e) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionedSpine -IfcCompositeCurve* IfcSectionedSpine::SpineCurve() { return (IfcCompositeCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > IfcSectionedSpine::CrossSections() { RETURN_AS_LIST(IfcProfileDef,1) } -void IfcSectionedSpine::setCrossSections(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > IfcSectionedSpine::CrossSectionPositions() { RETURN_AS_LIST(IfcAxis2Placement3D,2) } -void IfcSectionedSpine::setCrossSectionPositions(SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } +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()); } 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; } -IfcSectionedSpine::IfcSectionedSpine(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSectionedSpine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionedSpine::IfcSectionedSpine(IfcCompositeCurve* v1_SpineCurve, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v2_CrossSections, SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v3_CrossSectionPositions) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)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); } +IfcSectionedSpine::IfcSectionedSpine(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSectionedSpine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensor::PredefinedType() { return IfcSensorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSensor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensor::IfcSensor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSensor::IfcSensor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSensorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSensorType -IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorType::PredefinedType() { return IfcSensorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensorType::IfcSensorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSensorType::IfcSensorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShadingDevice -bool IfcShadingDevice::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum IfcShadingDevice::PredefinedType() { return IfcShadingDeviceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShadingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShadingDevice::IfcShadingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShadingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShadingDevice::IfcShadingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcShadingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShadingDeviceType -IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum IfcShadingDeviceType::PredefinedType() { return IfcShadingDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShadingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShadingDeviceType::IfcShadingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShadingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShadingDeviceType::IfcShadingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeAspect -SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > IfcShapeAspect::ShapeRepresentations() { RETURN_AS_LIST(IfcShapeModel,0) } -void IfcShapeAspect::setShapeRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcShapeAspect::hasName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcShapeAspect::Name() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcShapeModel >::ptr IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +bool IfcShapeAspect::hasName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcShapeAspect::Name() const { return *entity->getArgument(1); } void IfcShapeAspect::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcShapeAspect::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcShapeAspect::Description() { return *entity->getArgument(2); } +bool IfcShapeAspect::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcShapeAspect::Description() const { return *entity->getArgument(2); } void IfcShapeAspect::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcShapeAspect::ProductDefinitional() { return *entity->getArgument(3); } +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() { return !entity->getArgument(4)->isNull(); } -IfcProductRepresentationSelect IfcShapeAspect::PartOfProductDefinitionShape() { return *entity->getArgument(4); } +bool IfcShapeAspect::hasPartOfProductDefinitionShape() const { return !entity->getArgument(4)->isNull(); } +IfcProductRepresentationSelect IfcShapeAspect::PartOfProductDefinitionShape() const { return *entity->getArgument(4); } void IfcShapeAspect::setPartOfProductDefinitionShape(IfcProductRepresentationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeAspect::IfcShapeAspect(SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect > v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); if (v5_PartOfProductDefinitionShape) { e->setArgument(4,(*v5_PartOfProductDefinitionShape)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcShapeAspect::IfcShapeAspect(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect > v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); if (v5_PartOfProductDefinitionShape) { e->setArgument(4,(*v5_PartOfProductDefinitionShape)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeModel -IfcShapeAspect::list IfcShapeModel::OfShapeAspect() { RETURN_INVERSE(IfcShapeAspect) } +IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } bool IfcShapeModel::is(Type::Enum v) const { return v == Type::IfcShapeModel || IfcRepresentation::is(v); } Type::Enum IfcShapeModel::type() const { return Type::IfcShapeModel; } Type::Enum IfcShapeModel::Class() { return Type::IfcShapeModel; } -IfcShapeModel::IfcShapeModel(IfcAbstractEntityPtr e) : IfcRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShapeModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeModel::IfcShapeModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeRepresentation bool IfcShapeRepresentation::is(Type::Enum v) const { return v == Type::IfcShapeRepresentation || IfcShapeModel::is(v); } Type::Enum IfcShapeRepresentation::type() const { return Type::IfcShapeRepresentation; } Type::Enum IfcShapeRepresentation::Class() { return Type::IfcShapeRepresentation; } -IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntityPtr e) : IfcShapeModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcShapeModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShellBasedSurfaceModel -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcShellBasedSurfaceModel::SbsmBoundary() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcShellBasedSurfaceModel::setSbsmBoundary(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcShellBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntities v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SbsmBoundary)); entity = e; EntityBuffer::Add(this); } +IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShellBasedSurfaceModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityList::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SbsmBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSimpleProperty bool IfcSimpleProperty::is(Type::Enum v) const { return v == Type::IfcSimpleProperty || IfcProperty::is(v); } Type::Enum IfcSimpleProperty::type() const { return Type::IfcSimpleProperty; } Type::Enum IfcSimpleProperty::Class() { return Type::IfcSimpleProperty; } -IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntityPtr e) : IfcProperty((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSimpleProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimpleProperty::IfcSimpleProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcProperty((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimpleProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSimpleProperty::IfcSimpleProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSimplePropertyTemplate -bool IfcSimplePropertyTemplate::hasTemplateType() { return !entity->getArgument(4)->isNull(); } -IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum IfcSimplePropertyTemplate::TemplateType() { return IfcSimplePropertyTemplateTypeEnum::FromString(*entity->getArgument(4)); } +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() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcSimplePropertyTemplate::PrimaryMeasureType() { return *entity->getArgument(5); } +bool IfcSimplePropertyTemplate::hasPrimaryMeasureType() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcSimplePropertyTemplate::PrimaryMeasureType() const { return *entity->getArgument(5); } void IfcSimplePropertyTemplate::setPrimaryMeasureType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSimplePropertyTemplate::hasSecondaryMeasureType() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcSimplePropertyTemplate::SecondaryMeasureType() { return *entity->getArgument(6); } +bool IfcSimplePropertyTemplate::hasSecondaryMeasureType() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcSimplePropertyTemplate::SecondaryMeasureType() const { return *entity->getArgument(6); } void IfcSimplePropertyTemplate::setSecondaryMeasureType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSimplePropertyTemplate::hasEnumerators() { return !entity->getArgument(7)->isNull(); } -IfcPropertyEnumeration* IfcSimplePropertyTemplate::Enumerators() { return (IfcPropertyEnumeration*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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() { return !entity->getArgument(8)->isNull(); } -IfcUnit IfcSimplePropertyTemplate::PrimaryUnit() { return *entity->getArgument(8); } +bool IfcSimplePropertyTemplate::hasPrimaryUnit() const { return !entity->getArgument(8)->isNull(); } +IfcUnit IfcSimplePropertyTemplate::PrimaryUnit() const { return *entity->getArgument(8); } void IfcSimplePropertyTemplate::setPrimaryUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcSimplePropertyTemplate::hasSecondaryUnit() { return !entity->getArgument(9)->isNull(); } -IfcUnit IfcSimplePropertyTemplate::SecondaryUnit() { return *entity->getArgument(9); } +bool IfcSimplePropertyTemplate::hasSecondaryUnit() const { return !entity->getArgument(9)->isNull(); } +IfcUnit IfcSimplePropertyTemplate::SecondaryUnit() const { return *entity->getArgument(9); } void IfcSimplePropertyTemplate::setSecondaryUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSimplePropertyTemplate::hasExpression() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcSimplePropertyTemplate::Expression() { return *entity->getArgument(10); } +bool IfcSimplePropertyTemplate::hasExpression() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcSimplePropertyTemplate::Expression() const { return *entity->getArgument(10); } void IfcSimplePropertyTemplate::setExpression(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSimplePropertyTemplate::hasAccessState() { return !entity->getArgument(11)->isNull(); } -IfcStateEnum::IfcStateEnum IfcSimplePropertyTemplate::AccessState() { return IfcStateEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcPropertyTemplate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSimplePropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< IfcLabel > v6_PrimaryMeasureType, boost::optional< IfcLabel > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, boost::optional< IfcUnit > v9_PrimaryUnit, boost::optional< IfcUnit > v10_SecondaryUnit, boost::optional< IfcLabel > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState) : IfcPropertyTemplate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_PrimaryMeasureType) { e->setArgument(5,(*v6_PrimaryMeasureType)); } else { e->setArgument(5); } if (v7_SecondaryMeasureType) { e->setArgument(6,(*v7_SecondaryMeasureType)); } else { e->setArgument(6); } e->setArgument(7,(v8_Enumerators)); if (v9_PrimaryUnit) { e->setArgument(8,(*v9_PrimaryUnit)); } else { e->setArgument(8); } if (v10_SecondaryUnit) { e->setArgument(9,(*v10_SecondaryUnit)); } else { e->setArgument(9); } if (v11_Expression) { e->setArgument(10,(*v11_Expression)); } else { e->setArgument(10); } if (v12_AccessState) { e->setArgument(11,*v12_AccessState,IfcStateEnum::ToString(*v12_AccessState)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimplePropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< IfcLabel > v6_PrimaryMeasureType, boost::optional< IfcLabel > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, boost::optional< IfcUnit > v9_PrimaryUnit, boost::optional< IfcUnit > v10_SecondaryUnit, boost::optional< IfcLabel > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_PrimaryMeasureType) { e->setArgument(5,(*v6_PrimaryMeasureType)); } else { e->setArgument(5); } if (v7_SecondaryMeasureType) { e->setArgument(6,(*v7_SecondaryMeasureType)); } else { e->setArgument(6); } e->setArgument(7,(v8_Enumerators)); if (v9_PrimaryUnit) { e->setArgument(8,(*v9_PrimaryUnit)); } else { e->setArgument(8); } if (v10_SecondaryUnit) { e->setArgument(9,(*v10_SecondaryUnit)); } else { e->setArgument(9); } if (v11_Expression) { e->setArgument(10,(*v11_Expression)); } else { e->setArgument(10); } if (v12_AccessState) { e->setArgument(11,*v12_AccessState,IfcStateEnum::ToString(*v12_AccessState)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSite -bool IfcSite::hasRefLatitude() { return !entity->getArgument(9)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLatitude() { return *entity->getArgument(9); } +bool IfcSite::hasRefLatitude() const { return !entity->getArgument(9)->isNull(); } +IfcCompoundPlaneAngleMeasure IfcSite::RefLatitude() const { return *entity->getArgument(9); } void IfcSite::setRefLatitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcSite::hasRefLongitude() { return !entity->getArgument(10)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLongitude() { return *entity->getArgument(10); } +bool IfcSite::hasRefLongitude() const { return !entity->getArgument(10)->isNull(); } +IfcCompoundPlaneAngleMeasure IfcSite::RefLongitude() const { return *entity->getArgument(10); } void IfcSite::setRefLongitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcSite::hasRefElevation() { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcSite::RefElevation() { return *entity->getArgument(11); } +bool IfcSite::hasRefElevation() const { return !entity->getArgument(11)->isNull(); } +IfcLengthMeasure IfcSite::RefElevation() const { return *entity->getArgument(11); } void IfcSite::setRefElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcSite::hasLandTitleNumber() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcSite::LandTitleNumber() { return *entity->getArgument(12); } +bool IfcSite::hasLandTitleNumber() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } void IfcSite::setLandTitleNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcSite::hasSiteAddress() { return !entity->getArgument(13)->isNull(); } -IfcPostalAddress* IfcSite::SiteAddress() { return (IfcPostalAddress*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(13))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSite::IfcSite(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSite::IfcSite(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlab -bool IfcSlab::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlab::PredefinedType() { return IfcSlabTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlab::IfcSlab(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlab::IfcSlab(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcSlab((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlabElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabElementedCase::IfcSlabElementedCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcSlab((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlabElementedCase::IfcSlabElementedCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcSlab((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlabStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabStandardCase::IfcSlabStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcSlab((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlabStandardCase::IfcSlabStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabType -IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabType::PredefinedType() { return IfcSlabTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabType::IfcSlabType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlabType::IfcSlabType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlippageConnectionCondition -bool IfcSlippageConnectionCondition::hasSlippageX() { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageX() { return *entity->getArgument(1); } +bool IfcSlippageConnectionCondition::hasSlippageX() const { return !entity->getArgument(1)->isNull(); } +IfcLengthMeasure IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } void IfcSlippageConnectionCondition::setSlippageX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSlippageConnectionCondition::hasSlippageY() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageY() { return *entity->getArgument(2); } +bool IfcSlippageConnectionCondition::hasSlippageY() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } void IfcSlippageConnectionCondition::setSlippageY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSlippageConnectionCondition::hasSlippageZ() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageZ() { return *entity->getArgument(3); } +bool IfcSlippageConnectionCondition::hasSlippageZ() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } void IfcSlippageConnectionCondition::setSlippageZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSlippageConnectionCondition::is(Type::Enum v) const { return v == Type::IfcSlippageConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcSlippageConnectionCondition::type() const { return Type::IfcSlippageConnectionCondition; } Type::Enum IfcSlippageConnectionCondition::Class() { return Type::IfcSlippageConnectionCondition; } -IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntityPtr e) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSlippageConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlippageConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolarDevice -bool IfcSolarDevice::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum IfcSolarDevice::PredefinedType() { return IfcSolarDeviceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSolarDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolarDevice::IfcSolarDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolarDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSolarDevice::IfcSolarDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSolarDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolarDeviceType -IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum IfcSolarDeviceType::PredefinedType() { return IfcSolarDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSolarDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolarDeviceType::IfcSolarDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolarDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSolarDeviceType::IfcSolarDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolidModel bool IfcSolidModel::is(Type::Enum v) const { return v == Type::IfcSolidModel || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSolidModel::type() const { return Type::IfcSolidModel; } Type::Enum IfcSolidModel::Class() { return Type::IfcSolidModel; } -IfcSolidModel::IfcSolidModel(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSolidModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcSolidModel::IfcSolidModel(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolidModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpace -bool IfcSpace::hasPredefinedType() { return !entity->getArgument(9)->isNull(); } -IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpace::PredefinedType() { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcSpace::ElevationWithFlooring() { return *entity->getArgument(10); } +bool IfcSpace::hasElevationWithFlooring() const { return !entity->getArgument(10)->isNull(); } +IfcLengthMeasure IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } void IfcSpace::setElevationWithFlooring(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcRelCoversSpaces::list IfcSpace::HasCoverings() { RETURN_INVERSE(IfcRelCoversSpaces) } -IfcRelSpaceBoundary::list IfcSpace::BoundedBy() { RETURN_INVERSE(IfcRelSpaceBoundary) } +IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversSpaces)->as(); } +IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->as(); } bool IfcSpace::is(Type::Enum v) const { return v == Type::IfcSpace || IfcSpatialStructureElement::is(v); } Type::Enum IfcSpace::type() const { return Type::IfcSpace; } Type::Enum IfcSpace::Class() { return Type::IfcSpace; } -IfcSpace::IfcSpace(IfcAbstractEntityPtr e) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpace::IfcSpace(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpace::IfcSpace(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSpaceTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeater -bool IfcSpaceHeater::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeater::PredefinedType() { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeater)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeater::IfcSpaceHeater(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeater)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceHeater::IfcSpaceHeater(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeaterType -IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterType::PredefinedType() { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeaterType::IfcSpaceHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceHeaterType::IfcSpaceHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceType -IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceType::PredefinedType() { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcSpaceType::LongName() { return *entity->getArgument(10); } +bool IfcSpaceType::hasLongName() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcSpaceType::LongName() const { return *entity->getArgument(10); } void IfcSpaceType::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcSpatialStructureElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceType::IfcSpaceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName) : IfcSpatialStructureElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpaceType::IfcSpaceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialElement -bool IfcSpatialElement::hasLongName() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcSpatialElement::LongName() { return *entity->getArgument(7); } +bool IfcSpatialElement::hasLongName() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcSpatialElement::LongName() const { return *entity->getArgument(7); } void IfcSpatialElement::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcRelContainedInSpatialStructure::list IfcSpatialElement::ContainsElements() { RETURN_INVERSE(IfcRelContainedInSpatialStructure) } -IfcRelServicesBuildings::list IfcSpatialElement::ServicedBySystems() { RETURN_INVERSE(IfcRelServicesBuildings) } -IfcRelReferencedInSpatialStructure::list IfcSpatialElement::ReferencesElements() { RETURN_INVERSE(IfcRelReferencedInSpatialStructure) } +IfcRelContainedInSpatialStructure::list::ptr IfcSpatialElement::ContainsElements() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } +IfcRelServicesBuildings::list::ptr IfcSpatialElement::ServicedBySystems() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } +IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialElement::ReferencesElements() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure)->as(); } bool IfcSpatialElement::is(Type::Enum v) const { return v == Type::IfcSpatialElement || IfcProduct::is(v); } Type::Enum IfcSpatialElement::type() const { return Type::IfcSpatialElement; } Type::Enum IfcSpatialElement::Class() { return Type::IfcSpatialElement; } -IfcSpatialElement::IfcSpatialElement(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialElement::IfcSpatialElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialElement::IfcSpatialElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialElementType -bool IfcSpatialElementType::hasElementType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcSpatialElementType::ElementType() { return *entity->getArgument(8); } +bool IfcSpatialElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcSpatialElementType::ElementType() const { return *entity->getArgument(8); } void IfcSpatialElementType::setElementType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialElementType::IfcSpatialElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialElementType::IfcSpatialElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElement -bool IfcSpatialStructureElement::hasCompositionType() { return !entity->getArgument(8)->isNull(); } -IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcSpatialElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElement::IfcSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcSpatialElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialStructureElement::IfcSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcSpatialElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcSpatialElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcSpatialElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialZone -bool IfcSpatialZone::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum IfcSpatialZone::PredefinedType() { return IfcSpatialZoneTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcSpatialElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialZone::IfcSpatialZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType) : IfcSpatialElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } 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(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialZone::IfcSpatialZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpatialZoneTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialZoneType -IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum IfcSpatialZoneType::PredefinedType() { return IfcSpatialZoneTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcSpatialZoneType::LongName() { return *entity->getArgument(10); } +bool IfcSpatialZoneType::hasLongName() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcSpatialZoneType::LongName() const { return *entity->getArgument(10); } void IfcSpatialZoneType::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcSpatialElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSpatialZoneType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialZoneType::IfcSpatialZoneType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName) : IfcSpatialElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcSpatialElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialZoneType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSpatialZoneType::IfcSpatialZoneType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSphere -IfcPositiveLengthMeasure IfcSphere::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcSphere::Radius() const { return *entity->getArgument(1); } void IfcSphere::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSphere::is(Type::Enum v) const { return v == Type::IfcSphere || IfcCsgPrimitive3D::is(v); } Type::Enum IfcSphere::type() const { return Type::IfcSphere; } Type::Enum IfcSphere::Class() { return Type::IfcSphere; } -IfcSphere::IfcSphere(IfcAbstractEntityPtr e) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcSphere::IfcSphere(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminal -bool IfcStackTerminal::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminal::PredefinedType() { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStackTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminal::IfcStackTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStackTerminal::IfcStackTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStackTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminalType -IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalType::PredefinedType() { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminalType::IfcStackTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStackTerminalType::IfcStackTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStair -bool IfcStair::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcStairTypeEnum::IfcStairTypeEnum IfcStair::PredefinedType() { return IfcStairTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStair::IfcStair(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStair::IfcStair(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight -bool IfcStairFlight::hasNumberOfRiser() { return !entity->getArgument(8)->isNull(); } -int IfcStairFlight::NumberOfRiser() { return *entity->getArgument(8); } +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() { return !entity->getArgument(9)->isNull(); } -int IfcStairFlight::NumberOfTreads() { return *entity->getArgument(9); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::RiserHeight() { return *entity->getArgument(10); } +bool IfcStairFlight::hasRiserHeight() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } void IfcStairFlight::setRiserHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcStairFlight::hasTreadLength() { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::TreadLength() { return *entity->getArgument(11); } +bool IfcStairFlight::hasTreadLength() const { return !entity->getArgument(11)->isNull(); } +IfcPositiveLengthMeasure IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } void IfcStairFlight::setTreadLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcStairFlight::hasPredefinedType() { return !entity->getArgument(12)->isNull(); } -IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlight::PredefinedType() { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(12)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStairFlight::IfcStairFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType -IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlightType::IfcStairFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStairFlightType::IfcStairFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairType -IfcStairTypeEnum::IfcStairTypeEnum IfcStairType::PredefinedType() { return IfcStairTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStairType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairType::IfcStairType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStairType::IfcStairType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAction -bool IfcStructuralAction::hasDestabilizingLoad() { return !entity->getArgument(9)->isNull(); } -bool IfcStructuralAction::DestabilizingLoad() { return *entity->getArgument(9); } +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); } 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(IfcAbstractEntityPtr e) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAction::IfcStructuralAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralAction::IfcStructuralAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralActivity -IfcStructuralLoad* IfcStructuralActivity::AppliedLoad() { return (IfcStructuralLoad*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } -IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum IfcStructuralActivity::GlobalOrLocal() { return IfcGlobalOrLocalEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcRelConnectsStructuralActivity::list IfcStructuralActivity::AssignedToStructuralItem() { RETURN_INVERSE(IfcRelConnectsStructuralActivity) } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralActivity::AssignedToStructuralItem() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity)->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(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralActivity::IfcStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralActivity::IfcStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAnalysisModel -IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::PredefinedType() { return IfcAnalysisModelTypeEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcAxis2Placement3D* IfcStructuralAnalysisModel::OrientationOf2DPlane() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > IfcStructuralAnalysisModel::LoadedBy() { RETURN_AS_LIST(IfcStructuralLoadGroup,7) } -void IfcStructuralAnalysisModel::setLoadedBy(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcStructuralAnalysisModel::hasHasResults() { return !entity->getArgument(8)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > IfcStructuralAnalysisModel::HasResults() { RETURN_AS_LIST(IfcStructuralResultGroup,8) } -void IfcStructuralAnalysisModel::setHasResults(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v->generalize()); } -bool IfcStructuralAnalysisModel::hasSharedPlacement() { return !entity->getArgument(9)->isNull(); } -IfcObjectPlacement* IfcStructuralAnalysisModel::SharedPlacement() { return (IfcObjectPlacement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(9))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > > v8_LoadedBy, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_SharedPlacement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnection -bool IfcStructuralConnection::hasAppliedCondition() { return !entity->getArgument(7)->isNull(); } -IfcBoundaryCondition* IfcStructuralConnection::AppliedCondition() { return (IfcBoundaryCondition*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(7))); } +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); } -IfcRelConnectsStructuralMember::list IfcStructuralConnection::ConnectsStructuralMembers() { RETURN_INVERSE(IfcRelConnectsStructuralMember) } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralConnection::ConnectsStructuralMembers() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember)->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(IfcAbstractEntityPtr e) : IfcStructuralItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnection::IfcStructuralConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralConnection::IfcStructuralConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnectionCondition -bool IfcStructuralConnectionCondition::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralConnectionCondition::Name() { return *entity->getArgument(0); } +bool IfcStructuralConnectionCondition::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } void IfcStructuralConnectionCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralConnectionCondition::is(Type::Enum v) const { return v == Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::type() const { return Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::Class() { return Type::IfcStructuralConnectionCondition; } -IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveAction -bool IfcStructuralCurveAction::hasProjectedOrTrue() { return !entity->getArgument(10)->isNull(); } -IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralCurveAction::ProjectedOrTrue() { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(10)); } +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)); } -IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum IfcStructuralCurveAction::PredefinedType() { return IfcStructuralCurveActivityTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveAction::IfcStructuralCurveAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveAction::IfcStructuralCurveAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveConnection -IfcDirection* IfcStructuralCurveConnection::Axis() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMember -IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum IfcStructuralCurveMember::PredefinedType() { return IfcStructuralCurveMemberTypeEnum::FromString(*entity->getArgument(7)); } +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)); } -IfcDirection* IfcStructuralCurveMember::Axis() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcStructuralMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMember::IfcStructuralCurveMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveMember::IfcStructuralCurveMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralCurveMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveReaction -IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum IfcStructuralCurveReaction::PredefinedType() { return IfcStructuralCurveActivityTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralItem -IfcRelConnectsStructuralActivity::list IfcStructuralItem::AssignedStructuralActivity() { RETURN_INVERSE(IfcRelConnectsStructuralActivity) } +IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity)->as(); } bool IfcStructuralItem::is(Type::Enum v) const { return v == Type::IfcStructuralItem || IfcProduct::is(v); } Type::Enum IfcStructuralItem::type() const { return Type::IfcStructuralItem; } Type::Enum IfcStructuralItem::Class() { return Type::IfcStructuralItem; } -IfcStructuralItem::IfcStructuralItem(IfcAbstractEntityPtr e) : IfcProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralItem::IfcStructuralItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralItem::IfcStructuralItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralCurveAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearAction::IfcStructuralLinearAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralCurveAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLinearAction::IfcStructuralLinearAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoad -bool IfcStructuralLoad::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralLoad::Name() { return *entity->getArgument(0); } +bool IfcStructuralLoad::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcStructuralLoad::Name() const { return *entity->getArgument(0); } void IfcStructuralLoad::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralLoad::is(Type::Enum v) const { return v == Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::type() const { return Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::Class() { return Type::IfcStructuralLoad; } -IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralLoad)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralLoad)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcStructuralLoad::IfcStructuralLoad(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadCase -bool IfcStructuralLoadCase::hasSelfWeightCoefficients() { return !entity->getArgument(10)->isNull(); } -std::vector< IfcRatioMeasure > /*[3:3]*/ IfcStructuralLoadCase::SelfWeightCoefficients() { return *entity->getArgument(10); } +bool IfcStructuralLoadCase::hasSelfWeightCoefficients() const { return !entity->getArgument(10)->isNull(); } +std::vector< IfcRatioMeasure > /*[3:3]*/ IfcStructuralLoadCase::SelfWeightCoefficients() const { return *entity->getArgument(10); } void IfcStructuralLoadCase::setSelfWeightCoefficients(std::vector< IfcRatioMeasure > /*[3:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcStructuralLoadGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadCase::IfcStructuralLoadCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose, boost::optional< std::vector< IfcRatioMeasure > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadCase::IfcStructuralLoadCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose, boost::optional< std::vector< IfcRatioMeasure > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } if (v11_SelfWeightCoefficients) { e->setArgument(10,(*v11_SelfWeightCoefficients)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadConfiguration -SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > IfcStructuralLoadConfiguration::Values() { RETURN_AS_LIST(IfcStructuralLoadOrResult,1) } -void IfcStructuralLoadConfiguration::setValues(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +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()); } 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; } -IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcAbstractEntityPtr e) : IfcStructuralLoad((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadConfiguration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< IfcLabel > v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > v2_Values) : IfcStructuralLoad((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcAbstractEntity* e) : IfcStructuralLoad((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadConfiguration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v2_Values) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadGroup -IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcStructuralLoadGroup::PredefinedType() { return IfcLoadGroupTypeEnum::FromString(*entity->getArgument(5)); } +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)); } -IfcActionTypeEnum::IfcActionTypeEnum IfcStructuralLoadGroup::ActionType() { return IfcActionTypeEnum::FromString(*entity->getArgument(6)); } +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)); } -IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcStructuralLoadGroup::ActionSource() { return IfcActionSourceTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcRatioMeasure IfcStructuralLoadGroup::Coefficient() { return *entity->getArgument(8); } +bool IfcStructuralLoadGroup::hasCoefficient() const { return !entity->getArgument(8)->isNull(); } +IfcRatioMeasure IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } void IfcStructuralLoadGroup::setCoefficient(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcStructuralLoadGroup::hasPurpose() { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcStructuralLoadGroup::Purpose() { return *entity->getArgument(9); } +bool IfcStructuralLoadGroup::hasPurpose() const { return !entity->getArgument(9)->isNull(); } +IfcLabel IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } void IfcStructuralLoadGroup::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcStructuralResultGroup::list IfcStructuralLoadGroup::SourceOfResultGroup() { RETURN_INVERSE(IfcStructuralResultGroup) } -IfcStructuralAnalysisModel::list IfcStructuralLoadGroup::LoadGroupFor() { RETURN_INVERSE(IfcStructuralAnalysisModel) } +IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return entity->getInverse(Type::IfcStructuralResultGroup)->as(); } +IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel)->as(); } bool IfcStructuralLoadGroup::is(Type::Enum v) const { return v == Type::IfcStructuralLoadGroup || IfcGroup::is(v); } Type::Enum IfcStructuralLoadGroup::type() const { return Type::IfcStructuralLoadGroup; } Type::Enum IfcStructuralLoadGroup::Class() { return Type::IfcStructuralLoadGroup; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadLinearForce -bool IfcStructuralLoadLinearForce::hasLinearForceX() { return !entity->getArgument(1)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceX() { return *entity->getArgument(1); } +bool IfcStructuralLoadLinearForce::hasLinearForceX() const { return !entity->getArgument(1)->isNull(); } +IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } void IfcStructuralLoadLinearForce::setLinearForceX(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceY() { return !entity->getArgument(2)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceY() { return *entity->getArgument(2); } +bool IfcStructuralLoadLinearForce::hasLinearForceY() const { return !entity->getArgument(2)->isNull(); } +IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } void IfcStructuralLoadLinearForce::setLinearForceY(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadLinearForce::hasLinearForceZ() { return !entity->getArgument(3)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !entity->getArgument(3)->isNull(); } +IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } void IfcStructuralLoadLinearForce::setLinearForceZ(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentX() { return !entity->getArgument(4)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentX() { return *entity->getArgument(4); } +bool IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !entity->getArgument(4)->isNull(); } +IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } void IfcStructuralLoadLinearForce::setLinearMomentX(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentY() { return !entity->getArgument(5)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentY() { return *entity->getArgument(5); } +bool IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !entity->getArgument(5)->isNull(); } +IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } void IfcStructuralLoadLinearForce::setLinearMomentY(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadLinearForce::hasLinearMomentZ() { return !entity->getArgument(6)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentZ() { return *entity->getArgument(6); } +bool IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !entity->getArgument(6)->isNull(); } +IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } void IfcStructuralLoadLinearForce::setLinearMomentZ(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadLinearForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadLinearForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadLinearForce::type() const { return Type::IfcStructuralLoadLinearForce; } Type::Enum IfcStructuralLoadLinearForce::Class() { return Type::IfcStructuralLoadLinearForce; } -IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadLinearForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadLinearForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadOrResult bool IfcStructuralLoadOrResult::is(Type::Enum v) const { return v == Type::IfcStructuralLoadOrResult || IfcStructuralLoad::is(v); } Type::Enum IfcStructuralLoadOrResult::type() const { return Type::IfcStructuralLoadOrResult; } Type::Enum IfcStructuralLoadOrResult::Class() { return Type::IfcStructuralLoadOrResult; } -IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcAbstractEntityPtr e) : IfcStructuralLoad((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadOrResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoad((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcAbstractEntity* e) : IfcStructuralLoad((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadOrResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadPlanarForce -bool IfcStructuralLoadPlanarForce::hasPlanarForceX() { return !entity->getArgument(1)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceX() { return *entity->getArgument(1); } +bool IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !entity->getArgument(1)->isNull(); } +IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } void IfcStructuralLoadPlanarForce::setPlanarForceX(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceY() { return !entity->getArgument(2)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceY() { return *entity->getArgument(2); } +bool IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !entity->getArgument(2)->isNull(); } +IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } void IfcStructuralLoadPlanarForce::setPlanarForceY(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() { return !entity->getArgument(3)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !entity->getArgument(3)->isNull(); } +IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } void IfcStructuralLoadPlanarForce::setPlanarForceZ(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadPlanarForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadPlanarForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadPlanarForce::type() const { return Type::IfcStructuralLoadPlanarForce; } Type::Enum IfcStructuralLoadPlanarForce::Class() { return Type::IfcStructuralLoadPlanarForce; } -IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadPlanarForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadPlanarForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacement -bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementX() { return *entity->getArgument(1); } +bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !entity->getArgument(1)->isNull(); } +IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } void IfcStructuralLoadSingleDisplacement::setDisplacementX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementY() { return *entity->getArgument(2); } +bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !entity->getArgument(2)->isNull(); } +IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } void IfcStructuralLoadSingleDisplacement::setDisplacementY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !entity->getArgument(3)->isNull(); } +IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } void IfcStructuralLoadSingleDisplacement::setDisplacementZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() { return !entity->getArgument(4)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() { return *entity->getArgument(4); } +bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !entity->getArgument(4)->isNull(); } +IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() { return !entity->getArgument(5)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() { return *entity->getArgument(5); } +bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !entity->getArgument(5)->isNull(); } +IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() { return !entity->getArgument(6)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() { return *entity->getArgument(6); } +bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !entity->getArgument(6)->isNull(); } +IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleDisplacement::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacement || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleDisplacement::type() const { return Type::IfcStructuralLoadSingleDisplacement; } Type::Enum IfcStructuralLoadSingleDisplacement::Class() { return Type::IfcStructuralLoadSingleDisplacement; } -IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() { return !entity->getArgument(7)->isNull(); } -IfcCurvatureMeasure IfcStructuralLoadSingleDisplacementDistortion::Distortion() { return *entity->getArgument(7); } +bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !entity->getArgument(7)->isNull(); } +IfcCurvatureMeasure IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(IfcCurvatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleDisplacementDistortion::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacementDistortion || IfcStructuralLoadSingleDisplacement::is(v); } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::type() const { return Type::IfcStructuralLoadSingleDisplacementDistortion; } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::Class() { return Type::IfcStructuralLoadSingleDisplacementDistortion; } -IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcAbstractEntityPtr e) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacementDistortion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcAbstractEntity* e) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacementDistortion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForce -bool IfcStructuralLoadSingleForce::hasForceX() { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceX() { return *entity->getArgument(1); } +bool IfcStructuralLoadSingleForce::hasForceX() const { return !entity->getArgument(1)->isNull(); } +IfcForceMeasure IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } void IfcStructuralLoadSingleForce::setForceX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadSingleForce::hasForceY() { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceY() { return *entity->getArgument(2); } +bool IfcStructuralLoadSingleForce::hasForceY() const { return !entity->getArgument(2)->isNull(); } +IfcForceMeasure IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } void IfcStructuralLoadSingleForce::setForceY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadSingleForce::hasForceZ() { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadSingleForce::hasForceZ() const { return !entity->getArgument(3)->isNull(); } +IfcForceMeasure IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } void IfcStructuralLoadSingleForce::setForceZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcStructuralLoadSingleForce::hasMomentX() { return !entity->getArgument(4)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentX() { return *entity->getArgument(4); } +bool IfcStructuralLoadSingleForce::hasMomentX() const { return !entity->getArgument(4)->isNull(); } +IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } void IfcStructuralLoadSingleForce::setMomentX(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcStructuralLoadSingleForce::hasMomentY() { return !entity->getArgument(5)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentY() { return *entity->getArgument(5); } +bool IfcStructuralLoadSingleForce::hasMomentY() const { return !entity->getArgument(5)->isNull(); } +IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } void IfcStructuralLoadSingleForce::setMomentY(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcStructuralLoadSingleForce::hasMomentZ() { return !entity->getArgument(6)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentZ() { return *entity->getArgument(6); } +bool IfcStructuralLoadSingleForce::hasMomentZ() const { return !entity->getArgument(6)->isNull(); } +IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } void IfcStructuralLoadSingleForce::setMomentZ(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleForce::type() const { return Type::IfcStructuralLoadSingleForce; } Type::Enum IfcStructuralLoadSingleForce::Class() { return Type::IfcStructuralLoadSingleForce; } -IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForceWarping -bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() { return !entity->getArgument(7)->isNull(); } -IfcWarpingMomentMeasure IfcStructuralLoadSingleForceWarping::WarpingMoment() { return *entity->getArgument(7); } +bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !entity->getArgument(7)->isNull(); } +IfcWarpingMomentMeasure IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } void IfcStructuralLoadSingleForceWarping::setWarpingMoment(IfcWarpingMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleForceWarping::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForceWarping || IfcStructuralLoadSingleForce::is(v); } Type::Enum IfcStructuralLoadSingleForceWarping::type() const { return Type::IfcStructuralLoadSingleForceWarping; } Type::Enum IfcStructuralLoadSingleForceWarping::Class() { return Type::IfcStructuralLoadSingleForceWarping; } -IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcAbstractEntityPtr e) : IfcStructuralLoadSingleForce((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForceWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcAbstractEntity* e) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForceWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadStatic bool IfcStructuralLoadStatic::is(Type::Enum v) const { return v == Type::IfcStructuralLoadStatic || IfcStructuralLoadOrResult::is(v); } Type::Enum IfcStructuralLoadStatic::type() const { return Type::IfcStructuralLoadStatic; } Type::Enum IfcStructuralLoadStatic::Class() { return Type::IfcStructuralLoadStatic; } -IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntityPtr e) : IfcStructuralLoadOrResult((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadStatic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoadOrResult((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntity* e) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadStatic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadTemperature -bool IfcStructuralLoadTemperature::hasDeltaTConstant() { return !entity->getArgument(1)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTConstant() { return *entity->getArgument(1); } +bool IfcStructuralLoadTemperature::hasDeltaTConstant() const { return !entity->getArgument(1)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTConstant() const { return *entity->getArgument(1); } void IfcStructuralLoadTemperature::setDeltaTConstant(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcStructuralLoadTemperature::hasDeltaTY() { return !entity->getArgument(2)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTY() { return *entity->getArgument(2); } +bool IfcStructuralLoadTemperature::hasDeltaTY() const { return !entity->getArgument(2)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTY() const { return *entity->getArgument(2); } void IfcStructuralLoadTemperature::setDeltaTY(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcStructuralLoadTemperature::hasDeltaTZ() { return !entity->getArgument(3)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTZ() { return *entity->getArgument(3); } +bool IfcStructuralLoadTemperature::hasDeltaTZ() const { return !entity->getArgument(3)->isNull(); } +IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTZ() const { return *entity->getArgument(3); } void IfcStructuralLoadTemperature::setDeltaTZ(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadTemperature::is(Type::Enum v) const { return v == Type::IfcStructuralLoadTemperature || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadTemperature::type() const { return Type::IfcStructuralLoadTemperature; } Type::Enum IfcStructuralLoadTemperature::Class() { return Type::IfcStructuralLoadTemperature; } -IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcAbstractEntityPtr e) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadTemperature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaTConstant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaTY, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaTZ) : IfcStructuralLoadStatic((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaTConstant) { e->setArgument(1,(*v2_DeltaTConstant)); } else { e->setArgument(1); } if (v3_DeltaTY) { e->setArgument(2,(*v3_DeltaTY)); } else { e->setArgument(2); } if (v4_DeltaTZ) { e->setArgument(3,(*v4_DeltaTZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadTemperature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaTConstant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaTY, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaTZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaTConstant) { e->setArgument(1,(*v2_DeltaTConstant)); } else { e->setArgument(1); } if (v3_DeltaTY) { e->setArgument(2,(*v3_DeltaTY)); } else { e->setArgument(2); } if (v4_DeltaTZ) { e->setArgument(3,(*v4_DeltaTZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralMember -IfcRelConnectsStructuralMember::list IfcStructuralMember::ConnectedBy() { RETURN_INVERSE(IfcRelConnectsStructuralMember) } +IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember)->as(); } bool IfcStructuralMember::is(Type::Enum v) const { return v == Type::IfcStructuralMember || IfcStructuralItem::is(v); } Type::Enum IfcStructuralMember::type() const { return Type::IfcStructuralMember; } Type::Enum IfcStructuralMember::Class() { return Type::IfcStructuralMember; } -IfcStructuralMember::IfcStructuralMember(IfcAbstractEntityPtr e) : IfcStructuralItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralMember::IfcStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralMember::IfcStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralSurfaceAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralSurfaceAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointAction::IfcStructuralPointAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPointAction::IfcStructuralPointAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointConnection -bool IfcStructuralPointConnection::hasConditionCoordinateSystem() { return !entity->getArgument(8)->isNull(); } -IfcAxis2Placement3D* IfcStructuralPointConnection::ConditionCoordinateSystem() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointConnection::IfcStructuralPointConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPointConnection::IfcStructuralPointConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointReaction::IfcStructuralPointReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralPointReaction::IfcStructuralPointReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralReaction::IfcStructuralReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralReaction::IfcStructuralReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralResultGroup -IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcStructuralResultGroup::TheoryType() { return IfcAnalysisTheoryTypeEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcStructuralLoadGroup* IfcStructuralResultGroup::ResultForLoadGroup() { return (IfcStructuralLoadGroup*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(6))); } +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); } -bool IfcStructuralResultGroup::IsLinear() { return *entity->getArgument(7); } +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); } -IfcStructuralAnalysisModel::list IfcStructuralResultGroup::ResultGroupFor() { RETURN_INVERSE(IfcStructuralAnalysisModel) } +IfcStructuralAnalysisModel::list::ptr IfcStructuralResultGroup::ResultGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel)->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(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralResultGroup::IfcStructuralResultGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralResultGroup::IfcStructuralResultGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceAction -bool IfcStructuralSurfaceAction::hasProjectedOrTrue() { return !entity->getArgument(10)->isNull(); } -IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralSurfaceAction::ProjectedOrTrue() { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(10)); } +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)); } -IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum IfcStructuralSurfaceAction::PredefinedType() { return IfcStructuralSurfaceActivityTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralAction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMember -IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum IfcStructuralSurfaceMember::PredefinedType() { return IfcStructuralSurfaceMemberTypeEnum::FromString(*entity->getArgument(7)); } +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() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcStructuralSurfaceMember::Thickness() { return *entity->getArgument(8); } +bool IfcStructuralSurfaceMember::hasThickness() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } void IfcStructuralSurfaceMember::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcStructuralMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcStructuralSurfaceMember((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralSurfaceMember((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceReaction -IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum IfcStructuralSurfaceReaction::PredefinedType() { return IfcStructuralSurfaceActivityTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->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(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyleModel bool IfcStyleModel::is(Type::Enum v) const { return v == Type::IfcStyleModel || IfcRepresentation::is(v); } Type::Enum IfcStyleModel::type() const { return Type::IfcStyleModel; } Type::Enum IfcStyleModel::Class() { return Type::IfcStyleModel; } -IfcStyleModel::IfcStyleModel(IfcAbstractEntityPtr e) : IfcRepresentation((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStyleModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcRepresentation((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyleModel::IfcStyleModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyleModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledItem -bool IfcStyledItem::hasItem() { return !entity->getArgument(0)->isNull(); } -IfcRepresentationItem* IfcStyledItem::Item() { return (IfcRepresentationItem*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcStyledItem::Styles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcStyledItem::setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcStyledItem::hasName() { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcStyledItem::Name() { return *entity->getArgument(2); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcStyledItem::Styles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcStyledItem::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +bool IfcStyledItem::hasName() const { return !entity->getArgument(2)->isNull(); } +IfcLabel IfcStyledItem::Name() const { return *entity->getArgument(2); } void IfcStyledItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)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, IfcEntities v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcRepresentationItem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledRepresentation bool IfcStyledRepresentation::is(Type::Enum v) const { return v == Type::IfcStyledRepresentation || IfcStyleModel::is(v); } Type::Enum IfcStyledRepresentation::type() const { return Type::IfcStyledRepresentation; } Type::Enum IfcStyledRepresentation::Class() { return Type::IfcStyledRepresentation; } -IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntityPtr e) : IfcStyleModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcStyledRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcStyleModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntity* e) : IfcStyleModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResource -bool IfcSubContractResource::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum IfcSubContractResource::PredefinedType() { return IfcSubContractResourceTypeEnum::FromString(*entity->getArgument(10)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResource((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResource::IfcSubContractResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSubContractResource::IfcSubContractResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResourceType -IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum IfcSubContractResourceType::PredefinedType() { return IfcSubContractResourceTypeEnum::FromString(*entity->getArgument(11)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSubContractResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResourceType::IfcSubContractResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSubContractResourceType::IfcSubContractResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubedge -IfcEdge* IfcSubedge::ParentEdge() { return (IfcEdge*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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; } -IfcSubedge::IfcSubedge(IfcAbstractEntityPtr e) : IfcEdge((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSubedge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubedge::IfcSubedge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcEdge* v3_ParentEdge) : IfcEdge((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); e->setArgument(2,(v3_ParentEdge)); entity = e; EntityBuffer::Add(this); } +IfcSubedge::IfcSubedge(IfcAbstractEntity* e) : IfcEdge((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubedge)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSubedge::IfcSubedge(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcEdge* v3_ParentEdge) : IfcEdge((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeStart)); e->setArgument(1,(v2_EdgeEnd)); e->setArgument(2,(v3_ParentEdge)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurface bool IfcSurface::is(Type::Enum v) const { return v == Type::IfcSurface || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcSurface::type() const { return Type::IfcSurface; } Type::Enum IfcSurface::Class() { return Type::IfcSurface; } -IfcSurface::IfcSurface(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcSurface::IfcSurface(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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() { return !entity->getArgument(3)->isNull(); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::StartParam() { return *entity->getArgument(3); } +bool IfcSurfaceCurveSweptAreaSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } +IfcParameterValue IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } void IfcSurfaceCurveSweptAreaSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceCurveSweptAreaSolid::hasEndParam() { return !entity->getArgument(4)->isNull(); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::EndParam() { return *entity->getArgument(4); } +bool IfcSurfaceCurveSweptAreaSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } +IfcParameterValue IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } void IfcSurfaceCurveSweptAreaSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() { return (IfcSurface*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(5))); } +IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSurfaceCurveSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSurfaceCurveSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcSurfaceCurveSweptAreaSolid::type() const { return Type::IfcSurfaceCurveSweptAreaSolid; } Type::Enum IfcSurfaceCurveSweptAreaSolid::Class() { return Type::IfcSurfaceCurveSweptAreaSolid; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcAbstractEntityPtr e) : IfcSweptAreaSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceFeature -bool IfcSurfaceFeature::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum IfcSurfaceFeature::PredefinedType() { return IfcSurfaceFeatureTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFeatureElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceFeature::IfcSurfaceFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceFeature::IfcSurfaceFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfLinearExtrusion -IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceOfLinearExtrusion::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLengthMeasure IfcSurfaceOfLinearExtrusion::Depth() { return *entity->getArgument(3); } +IfcLengthMeasure IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } void IfcSurfaceOfLinearExtrusion::setDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } 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(IfcAbstractEntityPtr e) : IfcSweptSurface((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth) : IfcSweptSurface((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSweptSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfRevolution -IfcAxis1Placement* IfcSurfaceOfRevolution::AxisPosition() { return (IfcAxis1Placement*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSweptSurface((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)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(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); } // Function implementations for IfcSurfaceReinforcementArea -bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement1() { return !entity->getArgument(1)->isNull(); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement1() { return *entity->getArgument(1); } +bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement1() const { return !entity->getArgument(1)->isNull(); } +std::vector< IfcLengthMeasure > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { return *entity->getArgument(1); } void IfcSurfaceReinforcementArea::setSurfaceReinforcement1(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement2() { return !entity->getArgument(2)->isNull(); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement2() { return *entity->getArgument(2); } +bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement2() const { return !entity->getArgument(2)->isNull(); } +std::vector< IfcLengthMeasure > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { return *entity->getArgument(2); } void IfcSurfaceReinforcementArea::setSurfaceReinforcement2(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceReinforcementArea::hasShearReinforcement() { return !entity->getArgument(3)->isNull(); } -IfcRatioMeasure IfcSurfaceReinforcementArea::ShearReinforcement() { return *entity->getArgument(3); } +bool IfcSurfaceReinforcementArea::hasShearReinforcement() const { return !entity->getArgument(3)->isNull(); } +IfcRatioMeasure IfcSurfaceReinforcementArea::ShearReinforcement() const { return *entity->getArgument(3); } void IfcSurfaceReinforcementArea::setShearReinforcement(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceReinforcementArea::is(Type::Enum v) const { return v == Type::IfcSurfaceReinforcementArea || IfcStructuralLoadOrResult::is(v); } Type::Enum IfcSurfaceReinforcementArea::type() const { return Type::IfcSurfaceReinforcementArea; } Type::Enum IfcSurfaceReinforcementArea::Class() { return Type::IfcSurfaceReinforcementArea; } -IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcAbstractEntityPtr e) : IfcStructuralLoadOrResult((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceReinforcementArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< IfcLabel > v1_Name, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< IfcRatioMeasure > v4_ShearReinforcement) : IfcStructuralLoadOrResult((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SurfaceReinforcement1) { e->setArgument(1,(*v2_SurfaceReinforcement1)); } else { e->setArgument(1); } if (v3_SurfaceReinforcement2) { e->setArgument(2,(*v3_SurfaceReinforcement2)); } else { e->setArgument(2); } if (v4_ShearReinforcement) { e->setArgument(3,(*v4_ShearReinforcement)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcAbstractEntity* e) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceReinforcementArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< IfcLabel > v1_Name, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< IfcRatioMeasure > v4_ShearReinforcement) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SurfaceReinforcement1) { e->setArgument(1,(*v2_SurfaceReinforcement1)); } else { e->setArgument(1); } if (v3_SurfaceReinforcement2) { e->setArgument(2,(*v3_SurfaceReinforcement2)); } else { e->setArgument(2); } if (v4_ShearReinforcement) { e->setArgument(3,(*v4_ShearReinforcement)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyle -IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } +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)); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcSurfaceStyle::Styles() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcSurfaceStyle::setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcSurfaceStyle::Styles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcSurfaceStyle::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcSurfaceStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSurfaceStyle::type() const { return Type::IfcSurfaceStyle; } Type::Enum IfcSurfaceStyle::Class() { return Type::IfcSurfaceStyle; } -IfcSurfaceStyle::IfcSurfaceStyle(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntities v3_Styles) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyle::IfcSurfaceStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleLighting -IfcColourRgb* IfcSurfaceStyleLighting::DiffuseTransmissionColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -IfcColourRgb* IfcSurfaceStyleLighting::DiffuseReflectionColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } -IfcColourRgb* IfcSurfaceStyleLighting::TransmissionColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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); } -IfcColourRgb* IfcSurfaceStyleLighting::ReflectanceColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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); } 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; } -IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleLighting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcColourRgb* v1_DiffuseTransmissionColour, IfcColourRgb* v2_DiffuseReflectionColour, IfcColourRgb* v3_TransmissionColour, IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem((IfcAbstractEntityPtr)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); } +IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleLighting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(0)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::RefractionIndex() { return *entity->getArgument(0); } +bool IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !entity->getArgument(0)->isNull(); } +IfcReal IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } void IfcSurfaceStyleRefraction::setRefractionIndex(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcSurfaceStyleRefraction::hasDispersionFactor() { return !entity->getArgument(1)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::DispersionFactor() { return *entity->getArgument(1); } +bool IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !entity->getArgument(1)->isNull(); } +IfcReal IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } void IfcSurfaceStyleRefraction::setDispersionFactor(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceStyleRefraction::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRefraction || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceStyleRefraction::type() const { return Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::Class() { return Type::IfcSurfaceStyleRefraction; } -IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRefraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRefraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRendering -bool IfcSurfaceStyleRendering::hasTransparency() { return !entity->getArgument(1)->isNull(); } -IfcNormalisedRatioMeasure IfcSurfaceStyleRendering::Transparency() { return *entity->getArgument(1); } +bool IfcSurfaceStyleRendering::hasTransparency() const { return !entity->getArgument(1)->isNull(); } +IfcNormalisedRatioMeasure IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } void IfcSurfaceStyleRendering::setTransparency(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSurfaceStyleRendering::hasDiffuseColour() { return !entity->getArgument(2)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseColour() { return *entity->getArgument(2); } +bool IfcSurfaceStyleRendering::hasDiffuseColour() const { return !entity->getArgument(2)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseColour() const { return *entity->getArgument(2); } void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceStyleRendering::hasTransmissionColour() { return !entity->getArgument(3)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::TransmissionColour() { return *entity->getArgument(3); } +bool IfcSurfaceStyleRendering::hasTransmissionColour() const { return !entity->getArgument(3)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::TransmissionColour() const { return *entity->getArgument(3); } void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() { return !entity->getArgument(4)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseTransmissionColour() { return *entity->getArgument(4); } +bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !entity->getArgument(4)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return *entity->getArgument(4); } void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcSurfaceStyleRendering::hasReflectionColour() { return !entity->getArgument(5)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::ReflectionColour() { return *entity->getArgument(5); } +bool IfcSurfaceStyleRendering::hasReflectionColour() const { return !entity->getArgument(5)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::ReflectionColour() const { return *entity->getArgument(5); } void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcSurfaceStyleRendering::hasSpecularColour() { return !entity->getArgument(6)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::SpecularColour() { return *entity->getArgument(6); } +bool IfcSurfaceStyleRendering::hasSpecularColour() const { return !entity->getArgument(6)->isNull(); } +IfcColourOrFactor IfcSurfaceStyleRendering::SpecularColour() const { return *entity->getArgument(6); } void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcSurfaceStyleRendering::hasSpecularHighlight() { return !entity->getArgument(7)->isNull(); } -IfcSpecularHighlightSelect IfcSurfaceStyleRendering::SpecularHighlight() { return *entity->getArgument(7); } +bool IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !entity->getArgument(7)->isNull(); } +IfcSpecularHighlightSelect IfcSurfaceStyleRendering::SpecularHighlight() const { return *entity->getArgument(7); } void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } +IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() const { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } void IfcSurfaceStyleRendering::setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v)); } bool IfcSurfaceStyleRendering::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRendering || IfcSurfaceStyleShading::is(v); } Type::Enum IfcSurfaceStyleRendering::type() const { return Type::IfcSurfaceStyleRendering; } Type::Enum IfcSurfaceStyleRendering::Class() { return Type::IfcSurfaceStyleRendering; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntityPtr e) : IfcSurfaceStyleShading((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntity* e) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleShading -IfcColourRgb* IfcSurfaceStyleShading::SurfaceColour() { return (IfcColourRgb*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleShading)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcColourRgb* v1_SurfaceColour) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleShading)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcColourRgb* v1_SurfaceColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleWithTextures -SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > IfcSurfaceStyleWithTextures::Textures() { RETURN_AS_LIST(IfcSurfaceTexture,0) } -void IfcSurfaceStyleWithTextures::setTextures(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleWithTextures)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Textures) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Textures)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleWithTextures)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Textures)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceTexture -bool IfcSurfaceTexture::RepeatS() { return *entity->getArgument(0); } +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); } -bool IfcSurfaceTexture::RepeatT() { return *entity->getArgument(1); } +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() { return !entity->getArgument(2)->isNull(); } -IfcIdentifier IfcSurfaceTexture::Mode() { return *entity->getArgument(2); } +bool IfcSurfaceTexture::hasMode() const { return !entity->getArgument(2)->isNull(); } +IfcIdentifier IfcSurfaceTexture::Mode() const { return *entity->getArgument(2); } void IfcSurfaceTexture::setMode(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSurfaceTexture::hasTextureTransform() { return !entity->getArgument(3)->isNull(); } -IfcCartesianTransformationOperator2D* IfcSurfaceTexture::TextureTransform() { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcIdentifier > /*[1:?]*/ IfcSurfaceTexture::Parameter() { return *entity->getArgument(4); } +bool IfcSurfaceTexture::hasParameter() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcIdentifier > /*[1:?]*/ IfcSurfaceTexture::Parameter() const { return *entity->getArgument(4); } void IfcSurfaceTexture::setParameter(std::vector< IfcIdentifier > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcTextureCoordinate::list IfcSurfaceTexture::IsMappedBy() { RETURN_INVERSE(IfcTextureCoordinate) } -IfcSurfaceStyleWithTextures::list IfcSurfaceTexture::UsedInStyles() { RETURN_INVERSE(IfcSurfaceStyleWithTextures) } +IfcTextureCoordinate::list::ptr IfcSurfaceTexture::IsMappedBy() const { return entity->getInverse(Type::IfcTextureCoordinate)->as(); } +IfcSurfaceStyleWithTextures::list::ptr IfcSurfaceTexture::UsedInStyles() const { return entity->getInverse(Type::IfcSurfaceStyleWithTextures)->as(); } bool IfcSurfaceTexture::is(Type::Enum v) const { return v == Type::IfcSurfaceTexture || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceTexture::type() const { return Type::IfcSurfaceTexture; } Type::Enum IfcSurfaceTexture::Class() { return Type::IfcSurfaceTexture; } -IfcSurfaceTexture::IfcSurfaceTexture(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSurfaceTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptAreaSolid -IfcProfileDef* IfcSweptAreaSolid::SweptArea() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement3D* IfcSweptAreaSolid::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcSweptDiskSolid -IfcCurve* IfcSweptDiskSolid::Directrix() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcCurve* IfcSweptDiskSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcSweptDiskSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::Radius() { return *entity->getArgument(1); } +IfcPositiveLengthMeasure IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } void IfcSweptDiskSolid::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcSweptDiskSolid::hasInnerRadius() { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::InnerRadius() { return *entity->getArgument(2); } +bool IfcSweptDiskSolid::hasInnerRadius() const { return !entity->getArgument(2)->isNull(); } +IfcPositiveLengthMeasure IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } void IfcSweptDiskSolid::setInnerRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcSweptDiskSolid::hasStartParam() { return !entity->getArgument(3)->isNull(); } -IfcParameterValue IfcSweptDiskSolid::StartParam() { return *entity->getArgument(3); } +bool IfcSweptDiskSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } +IfcParameterValue IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } void IfcSweptDiskSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcSweptDiskSolid::hasEndParam() { return !entity->getArgument(4)->isNull(); } -IfcParameterValue IfcSweptDiskSolid::EndParam() { return *entity->getArgument(4); } +bool IfcSweptDiskSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } +IfcParameterValue IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } void IfcSweptDiskSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSweptDiskSolid::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptDiskSolid::type() const { return Type::IfcSweptDiskSolid; } Type::Enum IfcSweptDiskSolid::Class() { return Type::IfcSweptDiskSolid; } -IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntityPtr e) : IfcSolidModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam) : IfcSolidModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptDiskSolidPolygonal -bool IfcSweptDiskSolidPolygonal::hasFilletRadius() { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcSweptDiskSolidPolygonal::FilletRadius() { return *entity->getArgument(5); } +bool IfcSweptDiskSolidPolygonal::hasFilletRadius() const { return !entity->getArgument(5)->isNull(); } +IfcPositiveLengthMeasure IfcSweptDiskSolidPolygonal::FilletRadius() const { return *entity->getArgument(5); } void IfcSweptDiskSolidPolygonal::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSweptDiskSolidPolygonal::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolidPolygonal || IfcSweptDiskSolid::is(v); } Type::Enum IfcSweptDiskSolidPolygonal::type() const { return Type::IfcSweptDiskSolidPolygonal; } Type::Enum IfcSweptDiskSolidPolygonal::Class() { return Type::IfcSweptDiskSolidPolygonal; } -IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcAbstractEntityPtr e) : IfcSweptDiskSolid((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolidPolygonal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, boost::optional< IfcPositiveLengthMeasure > v6_FilletRadius) : IfcSweptDiskSolid((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } if (v6_FilletRadius) { e->setArgument(5,(*v6_FilletRadius)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcAbstractEntity* e) : IfcSweptDiskSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolidPolygonal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, boost::optional< IfcPositiveLengthMeasure > v6_FilletRadius) : IfcSweptDiskSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } if (v6_FilletRadius) { e->setArgument(5,(*v6_FilletRadius)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptSurface -IfcProfileDef* IfcSweptSurface::SweptCurve() { return (IfcProfileDef*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement3D* IfcSweptSurface::Position() { return (IfcAxis2Placement3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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); } 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(IfcAbstractEntityPtr e) : IfcSurface((IfcAbstractEntityPtr)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((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); entity = e; EntityBuffer::Add(this); } +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); } // Function implementations for IfcSwitchingDevice -bool IfcSwitchingDevice::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDevice::PredefinedType() { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDevice::IfcSwitchingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSwitchingDevice::IfcSwitchingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSwitchingDeviceType -IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDeviceType::PredefinedType() { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystem -IfcRelServicesBuildings::list IfcSystem::ServicesBuildings() { RETURN_INVERSE(IfcRelServicesBuildings) } +IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } bool IfcSystem::is(Type::Enum v) const { return v == Type::IfcSystem || IfcGroup::is(v); } Type::Enum IfcSystem::type() const { return Type::IfcSystem; } Type::Enum IfcSystem::Class() { return Type::IfcSystem; } -IfcSystem::IfcSystem(IfcAbstractEntityPtr e) : IfcGroup((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystem::IfcSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } 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(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSystem::IfcSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElement -bool IfcSystemFurnitureElement::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum IfcSystemFurnitureElement::PredefinedType() { return IfcSystemFurnitureElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFurnishingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFurnishingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElementType -bool IfcSystemFurnitureElementType::hasPredefinedType() { return !entity->getArgument(9)->isNull(); } -IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum IfcSystemFurnitureElementType::PredefinedType() { return IfcSystemFurnitureElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } 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(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTShapeProfileDef -IfcPositiveLengthMeasure IfcTShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcTShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } void IfcTShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcTShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcTShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcTShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcTShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcTShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTShapeProfileDef::hasFlangeEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcTShapeProfileDef::FlangeEdgeRadius() { return *entity->getArgument(8); } +bool IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcNonNegativeLengthMeasure IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } void IfcTShapeProfileDef::setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTShapeProfileDef::hasWebEdgeRadius() { return !entity->getArgument(9)->isNull(); } -IfcNonNegativeLengthMeasure IfcTShapeProfileDef::WebEdgeRadius() { return *entity->getArgument(9); } +bool IfcTShapeProfileDef::hasWebEdgeRadius() const { return !entity->getArgument(9)->isNull(); } +IfcNonNegativeLengthMeasure IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } void IfcTShapeProfileDef::setWebEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTShapeProfileDef::hasWebSlope() { return !entity->getArgument(10)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::WebSlope() { return *entity->getArgument(10); } +bool IfcTShapeProfileDef::hasWebSlope() const { return !entity->getArgument(10)->isNull(); } +IfcPlaneAngleMeasure IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } void IfcTShapeProfileDef::setWebSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTShapeProfileDef::hasFlangeSlope() { return !entity->getArgument(11)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::FlangeSlope() { return *entity->getArgument(11); } +bool IfcTShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(11)->isNull(); } +IfcPlaneAngleMeasure IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } void IfcTShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcNonNegativeLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcNonNegativeLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTable -bool IfcTable::hasName() { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcTable::Name() { return *entity->getArgument(0); } +bool IfcTable::hasName() const { return !entity->getArgument(0)->isNull(); } +IfcLabel IfcTable::Name() const { return *entity->getArgument(0); } void IfcTable::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTable::hasRows() { return !entity->getArgument(1)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > IfcTable::Rows() { RETURN_AS_LIST(IfcTableRow,1) } -void IfcTable::setRows(SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -bool IfcTable::hasColumns() { return !entity->getArgument(2)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > IfcTable::Columns() { RETURN_AS_LIST(IfcTableColumn,2) } -void IfcTable::setColumns(SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +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()); } bool IfcTable::is(Type::Enum v) const { return v == Type::IfcTable; } Type::Enum IfcTable::type() const { return Type::IfcTable; } Type::Enum IfcTable::Class() { return Type::IfcTable; } -IfcTable::IfcTable(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTable)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTable::IfcTable(boost::optional< IfcLabel > v1_Name, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > > v2_Rows, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > > v3_Columns) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Rows) { e->setArgument(1,(*v2_Rows)->generalize()); } else { e->setArgument(1); } if (v3_Columns) { e->setArgument(2,(*v3_Columns)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcTable::IfcTable(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTable)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTable::IfcTable(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Rows) { e->setArgument(1,(*v2_Rows)->generalize()); } else { e->setArgument(1); } if (v3_Columns) { e->setArgument(2,(*v3_Columns)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableColumn -bool IfcTableColumn::hasIdentifier() { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcTableColumn::Identifier() { return *entity->getArgument(0); } +bool IfcTableColumn::hasIdentifier() const { return !entity->getArgument(0)->isNull(); } +IfcIdentifier IfcTableColumn::Identifier() const { return *entity->getArgument(0); } void IfcTableColumn::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTableColumn::hasName() { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcTableColumn::Name() { return *entity->getArgument(1); } +bool IfcTableColumn::hasName() const { return !entity->getArgument(1)->isNull(); } +IfcLabel IfcTableColumn::Name() const { return *entity->getArgument(1); } void IfcTableColumn::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTableColumn::hasDescription() { return !entity->getArgument(2)->isNull(); } -IfcText IfcTableColumn::Description() { return *entity->getArgument(2); } +bool IfcTableColumn::hasDescription() const { return !entity->getArgument(2)->isNull(); } +IfcText IfcTableColumn::Description() const { return *entity->getArgument(2); } void IfcTableColumn::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTableColumn::hasUnit() { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcTableColumn::Unit() { return *entity->getArgument(3); } +bool IfcTableColumn::hasUnit() const { return !entity->getArgument(3)->isNull(); } +IfcUnit IfcTableColumn::Unit() const { return *entity->getArgument(3); } void IfcTableColumn::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTableColumn::hasReferencePath() { return !entity->getArgument(4)->isNull(); } -IfcReference* IfcTableColumn::ReferencePath() { return (IfcReference*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(4))); } +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); } 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(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTableColumn::IfcTableColumn(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTableColumn::IfcTableColumn(boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcUnit > v4_Unit, IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } e->setArgument(4,(v5_ReferencePath)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableRow -bool IfcTableRow::hasRowCells() { return !entity->getArgument(0)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTableRow::RowCells() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcTableRow::setRowCells(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -bool IfcTableRow::hasIsHeading() { return !entity->getArgument(1)->isNull(); } -bool IfcTableRow::IsHeading() { return *entity->getArgument(1); } +bool IfcTableRow::hasRowCells() const { return !entity->getArgument(0)->isNull(); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTableRow::RowCells() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcTableRow::setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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); } -IfcTable::list IfcTableRow::OfTable() { RETURN_INVERSE(IfcTable) } +IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable)->as(); } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } Type::Enum IfcTableRow::type() const { return Type::IfcTableRow; } Type::Enum IfcTableRow::Class() { return Type::IfcTableRow; } -IfcTableRow::IfcTableRow(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableRow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTableRow::IfcTableRow(boost::optional< IfcEntities > 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); } +IfcTableRow::IfcTableRow(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableRow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcTankTypeEnum::IfcTankTypeEnum IfcTank::PredefinedType() { return IfcTankTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowStorageDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTank)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTank::IfcTank(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTank)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTank::IfcTank(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTankTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTankType -IfcTankTypeEnum::IfcTankTypeEnum IfcTankType::PredefinedType() { return IfcTankTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTankType::IfcTankType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTankType::IfcTankType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTask -bool IfcTask::hasStatus() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTask::Status() { return *entity->getArgument(7); } +bool IfcTask::hasStatus() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcTask::Status() const { return *entity->getArgument(7); } void IfcTask::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTask::hasWorkMethod() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcTask::WorkMethod() { return *entity->getArgument(8); } +bool IfcTask::hasWorkMethod() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcTask::WorkMethod() const { return *entity->getArgument(8); } void IfcTask::setWorkMethod(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTask::IsMilestone() { return *entity->getArgument(9); } +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() { return !entity->getArgument(10)->isNull(); } -int IfcTask::Priority() { return *entity->getArgument(10); } +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() { return !entity->getArgument(11)->isNull(); } -IfcTaskTime* IfcTask::TaskTime() { return (IfcTaskTime*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(11))); } +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() { return !entity->getArgument(12)->isNull(); } -IfcTaskTypeEnum::IfcTaskTypeEnum IfcTask::PredefinedType() { return IfcTaskTypeEnum::FromString(*entity->getArgument(12)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTask::IfcTask(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcLabel > v8_Status, boost::optional< IfcLabel > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType) : IfcProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTask::IfcTask(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcLabel > v8_Status, boost::optional< IfcLabel > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_WorkMethod) { e->setArgument(8,(*v9_WorkMethod)); } else { e->setArgument(8); } e->setArgument(9,(v10_IsMilestone)); if (v11_Priority) { e->setArgument(10,(*v11_Priority)); } else { e->setArgument(10); } e->setArgument(11,(v12_TaskTime)); if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcTaskTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTime -bool IfcTaskTime::hasDurationType() { return !entity->getArgument(3)->isNull(); } -IfcTaskDurationEnum::IfcTaskDurationEnum IfcTaskTime::DurationType() { return IfcTaskDurationEnum::FromString(*entity->getArgument(3)); } +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() { return !entity->getArgument(4)->isNull(); } -IfcDuration IfcTaskTime::ScheduleDuration() { return *entity->getArgument(4); } +bool IfcTaskTime::hasScheduleDuration() const { return !entity->getArgument(4)->isNull(); } +IfcDuration IfcTaskTime::ScheduleDuration() const { return *entity->getArgument(4); } void IfcTaskTime::setScheduleDuration(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTaskTime::hasScheduleStart() { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcTaskTime::ScheduleStart() { return *entity->getArgument(5); } +bool IfcTaskTime::hasScheduleStart() const { return !entity->getArgument(5)->isNull(); } +IfcDateTime IfcTaskTime::ScheduleStart() const { return *entity->getArgument(5); } void IfcTaskTime::setScheduleStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTaskTime::hasScheduleFinish() { return !entity->getArgument(6)->isNull(); } -IfcDateTime IfcTaskTime::ScheduleFinish() { return *entity->getArgument(6); } +bool IfcTaskTime::hasScheduleFinish() const { return !entity->getArgument(6)->isNull(); } +IfcDateTime IfcTaskTime::ScheduleFinish() const { return *entity->getArgument(6); } void IfcTaskTime::setScheduleFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTaskTime::hasEarlyStart() { return !entity->getArgument(7)->isNull(); } -IfcDateTime IfcTaskTime::EarlyStart() { return *entity->getArgument(7); } +bool IfcTaskTime::hasEarlyStart() const { return !entity->getArgument(7)->isNull(); } +IfcDateTime IfcTaskTime::EarlyStart() const { return *entity->getArgument(7); } void IfcTaskTime::setEarlyStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTaskTime::hasEarlyFinish() { return !entity->getArgument(8)->isNull(); } -IfcDateTime IfcTaskTime::EarlyFinish() { return *entity->getArgument(8); } +bool IfcTaskTime::hasEarlyFinish() const { return !entity->getArgument(8)->isNull(); } +IfcDateTime IfcTaskTime::EarlyFinish() const { return *entity->getArgument(8); } void IfcTaskTime::setEarlyFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcTaskTime::hasLateStart() { return !entity->getArgument(9)->isNull(); } -IfcDateTime IfcTaskTime::LateStart() { return *entity->getArgument(9); } +bool IfcTaskTime::hasLateStart() const { return !entity->getArgument(9)->isNull(); } +IfcDateTime IfcTaskTime::LateStart() const { return *entity->getArgument(9); } void IfcTaskTime::setLateStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcTaskTime::hasLateFinish() { return !entity->getArgument(10)->isNull(); } -IfcDateTime IfcTaskTime::LateFinish() { return *entity->getArgument(10); } +bool IfcTaskTime::hasLateFinish() const { return !entity->getArgument(10)->isNull(); } +IfcDateTime IfcTaskTime::LateFinish() const { return *entity->getArgument(10); } void IfcTaskTime::setLateFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTaskTime::hasFreeFloat() { return !entity->getArgument(11)->isNull(); } -IfcDuration IfcTaskTime::FreeFloat() { return *entity->getArgument(11); } +bool IfcTaskTime::hasFreeFloat() const { return !entity->getArgument(11)->isNull(); } +IfcDuration IfcTaskTime::FreeFloat() const { return *entity->getArgument(11); } void IfcTaskTime::setFreeFloat(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTaskTime::hasTotalFloat() { return !entity->getArgument(12)->isNull(); } -IfcDuration IfcTaskTime::TotalFloat() { return *entity->getArgument(12); } +bool IfcTaskTime::hasTotalFloat() const { return !entity->getArgument(12)->isNull(); } +IfcDuration IfcTaskTime::TotalFloat() const { return *entity->getArgument(12); } void IfcTaskTime::setTotalFloat(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcTaskTime::hasIsCritical() { return !entity->getArgument(13)->isNull(); } -bool IfcTaskTime::IsCritical() { return *entity->getArgument(13); } +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() { return !entity->getArgument(14)->isNull(); } -IfcDateTime IfcTaskTime::StatusTime() { return *entity->getArgument(14); } +bool IfcTaskTime::hasStatusTime() const { return !entity->getArgument(14)->isNull(); } +IfcDateTime IfcTaskTime::StatusTime() const { return *entity->getArgument(14); } void IfcTaskTime::setStatusTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcTaskTime::hasActualDuration() { return !entity->getArgument(15)->isNull(); } -IfcDuration IfcTaskTime::ActualDuration() { return *entity->getArgument(15); } +bool IfcTaskTime::hasActualDuration() const { return !entity->getArgument(15)->isNull(); } +IfcDuration IfcTaskTime::ActualDuration() const { return *entity->getArgument(15); } void IfcTaskTime::setActualDuration(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcTaskTime::hasActualStart() { return !entity->getArgument(16)->isNull(); } -IfcDateTime IfcTaskTime::ActualStart() { return *entity->getArgument(16); } +bool IfcTaskTime::hasActualStart() const { return !entity->getArgument(16)->isNull(); } +IfcDateTime IfcTaskTime::ActualStart() const { return *entity->getArgument(16); } void IfcTaskTime::setActualStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } -bool IfcTaskTime::hasActualFinish() { return !entity->getArgument(17)->isNull(); } -IfcDateTime IfcTaskTime::ActualFinish() { return *entity->getArgument(17); } +bool IfcTaskTime::hasActualFinish() const { return !entity->getArgument(17)->isNull(); } +IfcDateTime IfcTaskTime::ActualFinish() const { return *entity->getArgument(17); } void IfcTaskTime::setActualFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } -bool IfcTaskTime::hasRemainingTime() { return !entity->getArgument(18)->isNull(); } -IfcDuration IfcTaskTime::RemainingTime() { return *entity->getArgument(18); } +bool IfcTaskTime::hasRemainingTime() const { return !entity->getArgument(18)->isNull(); } +IfcDuration IfcTaskTime::RemainingTime() const { return *entity->getArgument(18); } void IfcTaskTime::setRemainingTime(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } -bool IfcTaskTime::hasCompletion() { return !entity->getArgument(19)->isNull(); } -IfcPositiveRatioMeasure IfcTaskTime::Completion() { return *entity->getArgument(19); } +bool IfcTaskTime::hasCompletion() const { return !entity->getArgument(19)->isNull(); } +IfcPositiveRatioMeasure IfcTaskTime::Completion() const { return *entity->getArgument(19); } void IfcTaskTime::setCompletion(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } bool IfcTaskTime::is(Type::Enum v) const { return v == Type::IfcTaskTime || IfcSchedulingTime::is(v); } Type::Enum IfcTaskTime::type() const { return Type::IfcTaskTime; } Type::Enum IfcTaskTime::Class() { return Type::IfcTaskTime; } -IfcTaskTime::IfcTaskTime(IfcAbstractEntityPtr e) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTaskTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskTime::IfcTaskTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } +IfcTaskTime::IfcTaskTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTaskTime::IfcTaskTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTimeRecurring -IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrance() { return (IfcRecurrencePattern*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(20))); } +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); } 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; } -IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcAbstractEntityPtr e) : IfcTaskTime((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTaskTimeRecurring)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion, IfcRecurrencePattern* v21_Recurrance) : IfcTaskTime((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrance)); entity = e; EntityBuffer::Add(this); } +IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcAbstractEntity* e) : IfcTaskTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskTimeRecurring)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion, IfcRecurrencePattern* v21_Recurrance) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrance)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskType -IfcTaskTypeEnum::IfcTaskTypeEnum IfcTaskType::PredefinedType() { return IfcTaskTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcTaskType::WorkMethod() { return *entity->getArgument(10); } +bool IfcTaskType::hasWorkMethod() const { return !entity->getArgument(10)->isNull(); } +IfcLabel IfcTaskType::WorkMethod() const { return *entity->getArgument(10); } void IfcTaskType::setWorkMethod(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } 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(IfcAbstractEntityPtr e) : IfcTypeProcess((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTaskType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskType::IfcTaskType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_WorkMethod) : IfcTypeProcess((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTaskType::IfcTaskType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_WorkMethod) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTaskTypeEnum::ToString(v10_PredefinedType)); if (v11_WorkMethod) { e->setArgument(10,(*v11_WorkMethod)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTelecomAddress -bool IfcTelecomAddress::hasTelephoneNumbers() { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() { return *entity->getArgument(3); } +bool IfcTelecomAddress::hasTelephoneNumbers() const { return !entity->getArgument(3)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } void IfcTelecomAddress::setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTelecomAddress::hasFacsimileNumbers() { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() { return *entity->getArgument(4); } +bool IfcTelecomAddress::hasFacsimileNumbers() const { return !entity->getArgument(4)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } void IfcTelecomAddress::setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTelecomAddress::hasPagerNumber() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcTelecomAddress::PagerNumber() { return *entity->getArgument(5); } +bool IfcTelecomAddress::hasPagerNumber() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } void IfcTelecomAddress::setPagerNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTelecomAddress::hasElectronicMailAddresses() { return !entity->getArgument(6)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() { return *entity->getArgument(6); } +bool IfcTelecomAddress::hasElectronicMailAddresses() const { return !entity->getArgument(6)->isNull(); } +std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } void IfcTelecomAddress::setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTelecomAddress::hasWWWHomePageURL() { return !entity->getArgument(7)->isNull(); } -IfcURIReference IfcTelecomAddress::WWWHomePageURL() { return *entity->getArgument(7); } +bool IfcTelecomAddress::hasWWWHomePageURL() const { return !entity->getArgument(7)->isNull(); } +IfcURIReference IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } void IfcTelecomAddress::setWWWHomePageURL(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTelecomAddress::hasMessagingIDs() { return !entity->getArgument(8)->isNull(); } -std::vector< IfcURIReference > /*[1:?]*/ IfcTelecomAddress::MessagingIDs() { return *entity->getArgument(8); } +bool IfcTelecomAddress::hasMessagingIDs() const { return !entity->getArgument(8)->isNull(); } +std::vector< IfcURIReference > /*[1:?]*/ IfcTelecomAddress::MessagingIDs() const { return *entity->getArgument(8); } void IfcTelecomAddress::setMessagingIDs(std::vector< IfcURIReference > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } Type::Enum IfcTelecomAddress::type() const { return Type::IfcTelecomAddress; } Type::Enum IfcTelecomAddress::Class() { return Type::IfcTelecomAddress; } -IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntityPtr e) : IfcAddress((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTelecomAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcURIReference > v8_WWWHomePageURL, boost::optional< std::vector< IfcURIReference > /*[1:?]*/ > v9_MessagingIDs) : IfcAddress((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } if (v9_MessagingIDs) { e->setArgument(8,(*v9_MessagingIDs)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTelecomAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcURIReference > v8_WWWHomePageURL, boost::optional< std::vector< IfcURIReference > /*[1:?]*/ > v9_MessagingIDs) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } if (v9_MessagingIDs) { e->setArgument(8,(*v9_MessagingIDs)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendon -bool IfcTendon::hasPredefinedType() { return !entity->getArgument(9)->isNull(); } -IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::NominalDiameter() { return *entity->getArgument(10); } +bool IfcTendon::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } void IfcTendon::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTendon::hasCrossSectionArea() { return !entity->getArgument(11)->isNull(); } -IfcAreaMeasure IfcTendon::CrossSectionArea() { return *entity->getArgument(11); } +bool IfcTendon::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } +IfcAreaMeasure IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } void IfcTendon::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTendon::hasTensionForce() { return !entity->getArgument(12)->isNull(); } -IfcForceMeasure IfcTendon::TensionForce() { return *entity->getArgument(12); } +bool IfcTendon::hasTensionForce() const { return !entity->getArgument(12)->isNull(); } +IfcForceMeasure IfcTendon::TensionForce() const { return *entity->getArgument(12); } void IfcTendon::setTensionForce(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -bool IfcTendon::hasPreStress() { return !entity->getArgument(13)->isNull(); } -IfcPressureMeasure IfcTendon::PreStress() { return *entity->getArgument(13); } +bool IfcTendon::hasPreStress() const { return !entity->getArgument(13)->isNull(); } +IfcPressureMeasure IfcTendon::PreStress() const { return *entity->getArgument(13); } void IfcTendon::setPreStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcTendon::hasFrictionCoefficient() { return !entity->getArgument(14)->isNull(); } -IfcNormalisedRatioMeasure IfcTendon::FrictionCoefficient() { return *entity->getArgument(14); } +bool IfcTendon::hasFrictionCoefficient() const { return !entity->getArgument(14)->isNull(); } +IfcNormalisedRatioMeasure IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } void IfcTendon::setFrictionCoefficient(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcTendon::hasAnchorageSlip() { return !entity->getArgument(15)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::AnchorageSlip() { return *entity->getArgument(15); } +bool IfcTendon::hasAnchorageSlip() const { return !entity->getArgument(15)->isNull(); } +IfcPositiveLengthMeasure IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } void IfcTendon::setAnchorageSlip(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -bool IfcTendon::hasMinCurvatureRadius() { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::MinCurvatureRadius() { return *entity->getArgument(16); } +bool IfcTendon::hasMinCurvatureRadius() const { return !entity->getArgument(16)->isNull(); } +IfcPositiveLengthMeasure IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } void IfcTendon::setMinCurvatureRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendon::IfcTendon(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTendon::IfcTendon(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchor -bool IfcTendonAnchor::hasPredefinedType() { return !entity->getArgument(9)->isNull(); } -IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum IfcTendonAnchor::PredefinedType() { return IfcTendonAnchorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchor::IfcTendonAnchor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType) : IfcReinforcingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTendonAnchor::IfcTendonAnchor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchorType -IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum IfcTendonAnchorType::PredefinedType() { return IfcTendonAnchorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchorType::IfcTendonAnchorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTendonAnchorType::IfcTendonAnchorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonType -IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendonType::PredefinedType() { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } +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() { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcTendonType::NominalDiameter() { return *entity->getArgument(10); } +bool IfcTendonType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } +IfcPositiveLengthMeasure IfcTendonType::NominalDiameter() const { return *entity->getArgument(10); } void IfcTendonType::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcTendonType::hasCrossSectionArea() { return !entity->getArgument(11)->isNull(); } -IfcAreaMeasure IfcTendonType::CrossSectionArea() { return *entity->getArgument(11); } +bool IfcTendonType::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } +IfcAreaMeasure IfcTendonType::CrossSectionArea() const { return *entity->getArgument(11); } void IfcTendonType::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcTendonType::hasSheethDiameter() { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcTendonType::SheethDiameter() { return *entity->getArgument(12); } +bool IfcTendonType::hasSheethDiameter() const { return !entity->getArgument(12)->isNull(); } +IfcPositiveLengthMeasure IfcTendonType::SheethDiameter() const { return *entity->getArgument(12); } void IfcTendonType::setSheethDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTendonType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonType::IfcTendonType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTendonType::IfcTendonType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheethDiameter) { e->setArgument(12,(*v13_SheethDiameter)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTessellatedFaceSet -IfcCartesianPointList3D* IfcTessellatedFaceSet::Coordinates() { return (IfcCartesianPointList3D*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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() { return !entity->getArgument(2)->isNull(); } -bool IfcTessellatedFaceSet::Closed() { return *entity->getArgument(2); } +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); } -IfcIndexedColourMap::list IfcTessellatedFaceSet::HasColours() { RETURN_INVERSE(IfcIndexedColourMap) } -IfcIndexedTextureMap::list IfcTessellatedFaceSet::HasTextures() { RETURN_INVERSE(IfcIndexedTextureMap) } +IfcIndexedColourMap::list::ptr IfcTessellatedFaceSet::HasColours() const { return entity->getInverse(Type::IfcIndexedColourMap)->as(); } +IfcIndexedTextureMap::list::ptr IfcTessellatedFaceSet::HasTextures() const { return entity->getInverse(Type::IfcIndexedTextureMap)->as(); } bool IfcTessellatedFaceSet::is(Type::Enum v) const { return v == Type::IfcTessellatedFaceSet || IfcTessellatedItem::is(v); } Type::Enum IfcTessellatedFaceSet::type() const { return Type::IfcTessellatedFaceSet; } Type::Enum IfcTessellatedFaceSet::Class() { return Type::IfcTessellatedFaceSet; } -IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcAbstractEntityPtr e) : IfcTessellatedItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTessellatedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v3_Closed) : IfcTessellatedItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcAbstractEntity* e) : IfcTessellatedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTessellatedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v3_Closed) : IfcTessellatedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTessellatedItem bool IfcTessellatedItem::is(Type::Enum v) const { return v == Type::IfcTessellatedItem || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTessellatedItem::type() const { return Type::IfcTessellatedItem; } Type::Enum IfcTessellatedItem::Class() { return Type::IfcTessellatedItem; } -IfcTessellatedItem::IfcTessellatedItem(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTessellatedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcTessellatedItem::IfcTessellatedItem(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTessellatedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteral -IfcPresentableText IfcTextLiteral::Literal() { return *entity->getArgument(0); } +IfcPresentableText IfcTextLiteral::Literal() const { return *entity->getArgument(0); } void IfcTextLiteral::setLiteral(IfcPresentableText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcTextLiteral::Placement() { return *entity->getArgument(1); } +IfcAxis2Placement IfcTextLiteral::Placement() const { return *entity->getArgument(1); } void IfcTextLiteral::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTextPath::IfcTextPath IfcTextLiteral::Path() { return IfcTextPath::FromString(*entity->getArgument(2)); } +IfcTextPath::IfcTextPath IfcTextLiteral::Path() const { return IfcTextPath::FromString(*entity->getArgument(2)); } void IfcTextLiteral::setPath(IfcTextPath::IfcTextPath v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcTextPath::ToString(v)); } bool IfcTextLiteral::is(Type::Enum v) const { return v == Type::IfcTextLiteral || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTextLiteral::type() const { return Type::IfcTextLiteral; } Type::Enum IfcTextLiteral::Class() { return Type::IfcTextLiteral; } -IfcTextLiteral::IfcTextLiteral(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextLiteral)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteral::IfcTextLiteral(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteral::IfcTextLiteral(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteral)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextLiteral::IfcTextLiteral(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteralWithExtent -IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() { return (IfcPlanarExtent*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() const { return (IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcTextLiteralWithExtent::setExtent(IfcPlanarExtent* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcBoxAlignment IfcTextLiteralWithExtent::BoxAlignment() { return *entity->getArgument(4); } +IfcBoxAlignment IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } void IfcTextLiteralWithExtent::setBoxAlignment(IfcBoxAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextLiteralWithExtent::is(Type::Enum v) const { return v == Type::IfcTextLiteralWithExtent || IfcTextLiteral::is(v); } Type::Enum IfcTextLiteralWithExtent::type() const { return Type::IfcTextLiteralWithExtent; } Type::Enum IfcTextLiteralWithExtent::Class() { return Type::IfcTextLiteralWithExtent; } -IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntityPtr e) : IfcTextLiteral((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextLiteralWithExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntity* e) : IfcTextLiteral((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteralWithExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyle -bool IfcTextStyle::hasTextCharacterAppearance() { return !entity->getArgument(1)->isNull(); } -IfcTextStyleForDefinedFont* IfcTextStyle::TextCharacterAppearance() { return (IfcTextStyleForDefinedFont*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(1))); } +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() { return !entity->getArgument(2)->isNull(); } -IfcTextStyleTextModel* IfcTextStyle::TextStyle() { return (IfcTextStyleTextModel*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +bool IfcTextStyle::hasTextStyle() const { return !entity->getArgument(2)->isNull(); } +IfcTextStyleTextModel* IfcTextStyle::TextStyle() const { return (IfcTextStyleTextModel*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcTextStyle::setTextStyle(IfcTextStyleTextModel* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcTextFontSelect IfcTextStyle::TextFontStyle() { return *entity->getArgument(3); } +IfcTextFontSelect IfcTextStyle::TextFontStyle() const { return *entity->getArgument(3); } void IfcTextStyle::setTextFontStyle(IfcTextFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyle::hasModelOrDraughting() { return !entity->getArgument(4)->isNull(); } -bool IfcTextStyle::ModelOrDraughting() { return *entity->getArgument(4); } +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); } 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(IfcAbstractEntityPtr e) : IfcPresentationStyle((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyle::IfcTextStyle(boost::optional< IfcLabel > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyle::IfcTextStyle(boost::optional< IfcLabel > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TextCharacterAppearance)); e->setArgument(2,(v3_TextStyle)); e->setArgument(3,(v4_TextFontStyle)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleFontModel -std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() { return *entity->getArgument(1); } +std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } void IfcTextStyleFontModel::setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleFontModel::hasFontStyle() { return !entity->getArgument(2)->isNull(); } -IfcFontStyle IfcTextStyleFontModel::FontStyle() { return *entity->getArgument(2); } +bool IfcTextStyleFontModel::hasFontStyle() const { return !entity->getArgument(2)->isNull(); } +IfcFontStyle IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } void IfcTextStyleFontModel::setFontStyle(IfcFontStyle v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleFontModel::hasFontVariant() { return !entity->getArgument(3)->isNull(); } -IfcFontVariant IfcTextStyleFontModel::FontVariant() { return *entity->getArgument(3); } +bool IfcTextStyleFontModel::hasFontVariant() const { return !entity->getArgument(3)->isNull(); } +IfcFontVariant IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } void IfcTextStyleFontModel::setFontVariant(IfcFontVariant v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleFontModel::hasFontWeight() { return !entity->getArgument(4)->isNull(); } -IfcFontWeight IfcTextStyleFontModel::FontWeight() { return *entity->getArgument(4); } +bool IfcTextStyleFontModel::hasFontWeight() const { return !entity->getArgument(4)->isNull(); } +IfcFontWeight IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } void IfcTextStyleFontModel::setFontWeight(IfcFontWeight v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcSizeSelect IfcTextStyleFontModel::FontSize() { return *entity->getArgument(5); } +IfcSizeSelect IfcTextStyleFontModel::FontSize() const { return *entity->getArgument(5); } void IfcTextStyleFontModel::setFontSize(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTextStyleFontModel::is(Type::Enum v) const { return v == Type::IfcTextStyleFontModel || IfcPreDefinedTextFont::is(v); } Type::Enum IfcTextStyleFontModel::type() const { return Type::IfcTextStyleFontModel; } Type::Enum IfcTextStyleFontModel::Class() { return Type::IfcTextStyleFontModel; } -IfcTextStyleFontModel::IfcTextStyleFontModel(IfcAbstractEntityPtr e) : IfcPreDefinedTextFont((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextStyleFontModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleFontModel::IfcTextStyleFontModel(IfcLabel v1_Name, std::vector< IfcTextFontName > /*[1:?]*/ v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_FontFamily)); if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleFontModel::IfcTextStyleFontModel(IfcAbstractEntity* e) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleFontModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleFontModel::IfcTextStyleFontModel(IfcLabel v1_Name, std::vector< IfcTextFontName > /*[1:?]*/ v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_FontFamily)); if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleForDefinedFont -IfcColour IfcTextStyleForDefinedFont::Colour() { return *entity->getArgument(0); } +IfcColour IfcTextStyleForDefinedFont::Colour() const { return *entity->getArgument(0); } void IfcTextStyleForDefinedFont::setColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleForDefinedFont::hasBackgroundColour() { return !entity->getArgument(1)->isNull(); } -IfcColour IfcTextStyleForDefinedFont::BackgroundColour() { return *entity->getArgument(1); } +bool IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !entity->getArgument(1)->isNull(); } +IfcColour IfcTextStyleForDefinedFont::BackgroundColour() const { return *entity->getArgument(1); } void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleTextModel -bool IfcTextStyleTextModel::hasTextIndent() { return !entity->getArgument(0)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::TextIndent() { return *entity->getArgument(0); } +bool IfcTextStyleTextModel::hasTextIndent() const { return !entity->getArgument(0)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::TextIndent() const { return *entity->getArgument(0); } void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTextStyleTextModel::hasTextAlign() { return !entity->getArgument(1)->isNull(); } -IfcTextAlignment IfcTextStyleTextModel::TextAlign() { return *entity->getArgument(1); } +bool IfcTextStyleTextModel::hasTextAlign() const { return !entity->getArgument(1)->isNull(); } +IfcTextAlignment IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } void IfcTextStyleTextModel::setTextAlign(IfcTextAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextStyleTextModel::hasTextDecoration() { return !entity->getArgument(2)->isNull(); } -IfcTextDecoration IfcTextStyleTextModel::TextDecoration() { return *entity->getArgument(2); } +bool IfcTextStyleTextModel::hasTextDecoration() const { return !entity->getArgument(2)->isNull(); } +IfcTextDecoration IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } void IfcTextStyleTextModel::setTextDecoration(IfcTextDecoration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -bool IfcTextStyleTextModel::hasLetterSpacing() { return !entity->getArgument(3)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LetterSpacing() { return *entity->getArgument(3); } +bool IfcTextStyleTextModel::hasLetterSpacing() const { return !entity->getArgument(3)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::LetterSpacing() const { return *entity->getArgument(3); } void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -bool IfcTextStyleTextModel::hasWordSpacing() { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::WordSpacing() { return *entity->getArgument(4); } +bool IfcTextStyleTextModel::hasWordSpacing() const { return !entity->getArgument(4)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::WordSpacing() const { return *entity->getArgument(4); } void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTextStyleTextModel::hasTextTransform() { return !entity->getArgument(5)->isNull(); } -IfcTextTransformation IfcTextStyleTextModel::TextTransform() { return *entity->getArgument(5); } +bool IfcTextStyleTextModel::hasTextTransform() const { return !entity->getArgument(5)->isNull(); } +IfcTextTransformation IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } void IfcTextStyleTextModel::setTextTransform(IfcTextTransformation v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcTextStyleTextModel::hasLineHeight() { return !entity->getArgument(6)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LineHeight() { return *entity->getArgument(6); } +bool IfcTextStyleTextModel::hasLineHeight() const { return !entity->getArgument(6)->isNull(); } +IfcSizeSelect IfcTextStyleTextModel::LineHeight() const { return *entity->getArgument(6); } void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleTextModel::IfcTextStyleTextModel(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinate -SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > IfcTextureCoordinate::Maps() { RETURN_AS_LIST(IfcSurfaceTexture,0) } -void IfcTextureCoordinate::setMaps(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +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()); } 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; } -IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureCoordinate::IfcTextureCoordinate(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureCoordinate::IfcTextureCoordinate(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinateGenerator -IfcLabel IfcTextureCoordinateGenerator::Mode() { return *entity->getArgument(1); } +IfcLabel IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(1); } void IfcTextureCoordinateGenerator::setMode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -bool IfcTextureCoordinateGenerator::hasParameter() { return !entity->getArgument(2)->isNull(); } -std::vector< IfcReal > /*[1:?]*/ IfcTextureCoordinateGenerator::Parameter() { return *entity->getArgument(2); } +bool IfcTextureCoordinateGenerator::hasParameter() const { return !entity->getArgument(2)->isNull(); } +std::vector< IfcReal > /*[1:?]*/ IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(2); } void IfcTextureCoordinateGenerator::setParameter(std::vector< IfcReal > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTextureCoordinateGenerator::is(Type::Enum v) const { return v == Type::IfcTextureCoordinateGenerator || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureCoordinateGenerator::type() const { return Type::IfcTextureCoordinateGenerator; } Type::Enum IfcTextureCoordinateGenerator::Class() { return Type::IfcTextureCoordinateGenerator; } -IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcAbstractEntityPtr e) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, IfcLabel v2_Mode, boost::optional< std::vector< IfcReal > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Mode)); if (v3_Parameter) { e->setArgument(2,(*v3_Parameter)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcLabel v2_Mode, boost::optional< std::vector< IfcReal > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Mode)); if (v3_Parameter) { e->setArgument(2,(*v3_Parameter)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureMap -SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > IfcTextureMap::Vertices() { RETURN_AS_LIST(IfcTextureVertex,1) } -void IfcTextureMap::setVertices(SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcFace* IfcTextureMap::MappedTo() { return (IfcFace*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(2))); } +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()); } +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); } bool IfcTextureMap::is(Type::Enum v) const { return v == Type::IfcTextureMap || IfcTextureCoordinate::is(v); } Type::Enum IfcTextureMap::type() const { return Type::IfcTextureMap; } Type::Enum IfcTextureMap::Class() { return Type::IfcTextureMap; } -IfcTextureMap::IfcTextureMap(IfcAbstractEntityPtr e) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureMap::IfcTextureMap(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v2_Vertices, IfcFace* v3_MappedTo) : IfcTextureCoordinate((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Vertices)->generalize()); e->setArgument(2,(v3_MappedTo)); entity = e; EntityBuffer::Add(this); } +IfcTextureMap::IfcTextureMap(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTemplatedEntityList< IfcTextureVertex >::ptr v2_Vertices, IfcFace* v3_MappedTo) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Vertices)->generalize()); e->setArgument(2,(v3_MappedTo)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureVertex -std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() { return *entity->getArgument(0); } +std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } void IfcTextureVertex::setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextureVertex::is(Type::Enum v) const { return v == Type::IfcTextureVertex || IfcPresentationItem::is(v); } Type::Enum IfcTextureVertex::type() const { return Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::Class() { return Type::IfcTextureVertex; } -IfcTextureVertex::IfcTextureVertex(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureVertex::IfcTextureVertex(std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcTextureVertex::IfcTextureVertex(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureVertex::IfcTextureVertex(std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureVertexList bool IfcTextureVertexList::is(Type::Enum v) const { return v == Type::IfcTextureVertexList || IfcPresentationItem::is(v); } Type::Enum IfcTextureVertexList::type() const { return Type::IfcTextureVertexList; } Type::Enum IfcTextureVertexList::Class() { return Type::IfcTextureVertexList; } -IfcTextureVertexList::IfcTextureVertexList(IfcAbstractEntityPtr e) : IfcPresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTextureVertexList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureVertexList::IfcTextureVertexList() : IfcPresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcTextureVertexList::IfcTextureVertexList(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureVertexList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTextureVertexList::IfcTextureVertexList() : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimePeriod -IfcTime IfcTimePeriod::StartTime() { return *entity->getArgument(0); } +IfcTime IfcTimePeriod::StartTime() const { return *entity->getArgument(0); } void IfcTimePeriod::setStartTime(IfcTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTime IfcTimePeriod::EndTime() { return *entity->getArgument(1); } +IfcTime IfcTimePeriod::EndTime() const { return *entity->getArgument(1); } void IfcTimePeriod::setEndTime(IfcTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTimePeriod::is(Type::Enum v) const { return v == Type::IfcTimePeriod; } Type::Enum IfcTimePeriod::type() const { return Type::IfcTimePeriod; } Type::Enum IfcTimePeriod::Class() { return Type::IfcTimePeriod; } -IfcTimePeriod::IfcTimePeriod(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimePeriod)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTimePeriod::IfcTimePeriod(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimePeriod)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTimePeriod::IfcTimePeriod(IfcTime v1_StartTime, IfcTime v2_EndTime) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_StartTime)); e->setArgument(1,(v2_EndTime)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeries -IfcLabel IfcTimeSeries::Name() { return *entity->getArgument(0); } +IfcLabel IfcTimeSeries::Name() const { return *entity->getArgument(0); } void IfcTimeSeries::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -bool IfcTimeSeries::hasDescription() { return !entity->getArgument(1)->isNull(); } -IfcText IfcTimeSeries::Description() { return *entity->getArgument(1); } +bool IfcTimeSeries::hasDescription() const { return !entity->getArgument(1)->isNull(); } +IfcText IfcTimeSeries::Description() const { return *entity->getArgument(1); } void IfcTimeSeries::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcDateTime IfcTimeSeries::StartTime() { return *entity->getArgument(2); } +IfcDateTime IfcTimeSeries::StartTime() const { return *entity->getArgument(2); } void IfcTimeSeries::setStartTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDateTime IfcTimeSeries::EndTime() { return *entity->getArgument(3); } +IfcDateTime IfcTimeSeries::EndTime() const { return *entity->getArgument(3); } void IfcTimeSeries::setEndTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } +IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() const { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } void IfcTimeSeries::setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v)); } -IfcDataOriginEnum::IfcDataOriginEnum IfcTimeSeries::DataOrigin() { return IfcDataOriginEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcTimeSeries::UserDefinedDataOrigin() { return *entity->getArgument(6); } +bool IfcTimeSeries::hasUserDefinedDataOrigin() const { return !entity->getArgument(6)->isNull(); } +IfcLabel IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } void IfcTimeSeries::setUserDefinedDataOrigin(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTimeSeries::hasUnit() { return !entity->getArgument(7)->isNull(); } -IfcUnit IfcTimeSeries::Unit() { return *entity->getArgument(7); } +bool IfcTimeSeries::hasUnit() const { return !entity->getArgument(7)->isNull(); } +IfcUnit IfcTimeSeries::Unit() const { return *entity->getArgument(7); } void IfcTimeSeries::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcExternalReferenceRelationship::list IfcTimeSeries::HasExternalReference() { RETURN_INVERSE(IfcExternalReferenceRelationship) } +IfcExternalReferenceRelationship::list::ptr IfcTimeSeries::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcTimeSeries::is(Type::Enum v) const { return v == Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::type() const { return Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } -IfcTimeSeries::IfcTimeSeries(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTimeSeries::IfcTimeSeries(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcTimeSeries::IfcTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesValue -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTimeSeriesValue::ListValues() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcTimeSeriesValue::setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcTimeSeriesValue::IfcTimeSeriesValue(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntities v1_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ListValues)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeriesValue::IfcTimeSeriesValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityList::ptr v1_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTopologicalRepresentationItem bool IfcTopologicalRepresentationItem::is(Type::Enum v) const { return v == Type::IfcTopologicalRepresentationItem || IfcRepresentationItem::is(v); } Type::Enum IfcTopologicalRepresentationItem::type() const { return Type::IfcTopologicalRepresentationItem; } Type::Enum IfcTopologicalRepresentationItem::Class() { return Type::IfcTopologicalRepresentationItem; } -IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcAbstractEntityPtr e) : IfcRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTopologicalRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologicalRepresentationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTopologyRepresentation bool IfcTopologyRepresentation::is(Type::Enum v) const { return v == Type::IfcTopologyRepresentation || IfcShapeModel::is(v); } Type::Enum IfcTopologyRepresentation::type() const { return Type::IfcTopologyRepresentation; } Type::Enum IfcTopologyRepresentation::Class() { return Type::IfcTopologyRepresentation; } -IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntityPtr e) : IfcShapeModel((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items) : IfcShapeModel((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformer -bool IfcTransformer::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformer::PredefinedType() { return IfcTransformerTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransformer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformer::IfcTransformer(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransformer::IfcTransformer(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransformerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformerType -IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerType::PredefinedType() { return IfcTransformerTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformerType::IfcTransformerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransformerType::IfcTransformerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElement -bool IfcTransportElement::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElement::PredefinedType() { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElement::IfcTransportElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransportElement::IfcTransportElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransportElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElementType -IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementType::PredefinedType() { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElementType::IfcTransportElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTransportElementType::IfcTransportElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrapeziumProfileDef -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::BottomXDim() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } void IfcTrapeziumProfileDef::setBottomXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::TopXDim() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } void IfcTrapeziumProfileDef::setTopXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::YDim() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } void IfcTrapeziumProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcLengthMeasure IfcTrapeziumProfileDef::TopXOffset() { return *entity->getArgument(6); } +IfcLengthMeasure IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } void IfcTrapeziumProfileDef::setTopXOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTriangulatedFaceSet bool IfcTriangulatedFaceSet::is(Type::Enum v) const { return v == Type::IfcTriangulatedFaceSet || IfcTessellatedFaceSet::is(v); } Type::Enum IfcTriangulatedFaceSet::type() const { return Type::IfcTriangulatedFaceSet; } Type::Enum IfcTriangulatedFaceSet::Class() { return Type::IfcTriangulatedFaceSet; } -IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcAbstractEntityPtr e) : IfcTessellatedFaceSet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTriangulatedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v3_Closed) : IfcTessellatedFaceSet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcAbstractEntity* e) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTriangulatedFaceSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v3_Closed) : IfcTessellatedFaceSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); if (v3_Closed) { e->setArgument(2,(*v3_Closed)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrimmedCurve -IfcCurve* IfcTrimmedCurve::BasisCurve() { return (IfcCurve*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTrimmedCurve::Trim1() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,1) } -void IfcTrimmedCurve::setTrim1(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcTrimmedCurve::Trim2() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,2) } -void IfcTrimmedCurve::setTrim2(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -bool IfcTrimmedCurve::SenseAgreement() { return *entity->getArgument(3); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim1() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } +void IfcTrimmedCurve::setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim2() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } +void IfcTrimmedCurve::setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +bool IfcTrimmedCurve::SenseAgreement() const { return *entity->getArgument(3); } void IfcTrimmedCurve::setSenseAgreement(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } +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)); } 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; } -IfcTrimmedCurve::IfcTrimmedCurve(IfcAbstractEntityPtr e) : IfcBoundedCurve((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTrimmedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrimmedCurve::IfcTrimmedCurve(IfcCurve* v1_BasisCurve, IfcEntities v2_Trim1, IfcEntities v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation) : IfcBoundedCurve((IfcAbstractEntityPtr)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); } +IfcTrimmedCurve::IfcTrimmedCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrimmedCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundle::PredefinedType() { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTubeBundle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundle::IfcTubeBundle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTubeBundle::IfcTubeBundle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTubeBundleTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTubeBundleType -IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundleType::PredefinedType() { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundleType::IfcTubeBundleType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTubeBundleType::IfcTubeBundleType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeObject -bool IfcTypeObject::hasApplicableOccurrence() { return !entity->getArgument(4)->isNull(); } -IfcIdentifier IfcTypeObject::ApplicableOccurrence() { return *entity->getArgument(4); } +bool IfcTypeObject::hasApplicableOccurrence() const { return !entity->getArgument(4)->isNull(); } +IfcIdentifier IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } void IfcTypeObject::setApplicableOccurrence(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcTypeObject::hasHasPropertySets() { return !entity->getArgument(5)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > IfcTypeObject::HasPropertySets() { RETURN_AS_LIST(IfcPropertySetDefinition,5) } -void IfcTypeObject::setHasPropertySets(SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } -IfcRelDefinesByType::list IfcTypeObject::Types() { RETURN_INVERSE(IfcRelDefinesByType) } +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()); } +IfcRelDefinesByType::list::ptr IfcTypeObject::Types() const { return entity->getInverse(Type::IfcRelDefinesByType)->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(IfcAbstractEntityPtr e) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeObject::IfcTypeObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (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(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTypeObject::IfcTypeObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProcess -bool IfcTypeProcess::hasIdentification() { return !entity->getArgument(6)->isNull(); } -IfcIdentifier IfcTypeProcess::Identification() { return *entity->getArgument(6); } +bool IfcTypeProcess::hasIdentification() const { return !entity->getArgument(6)->isNull(); } +IfcIdentifier IfcTypeProcess::Identification() const { return *entity->getArgument(6); } void IfcTypeProcess::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTypeProcess::hasLongDescription() { return !entity->getArgument(7)->isNull(); } -IfcText IfcTypeProcess::LongDescription() { return *entity->getArgument(7); } +bool IfcTypeProcess::hasLongDescription() const { return !entity->getArgument(7)->isNull(); } +IfcText IfcTypeProcess::LongDescription() const { return *entity->getArgument(7); } void IfcTypeProcess::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTypeProcess::hasProcessType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcTypeProcess::ProcessType() { return *entity->getArgument(8); } +bool IfcTypeProcess::hasProcessType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcTypeProcess::ProcessType() const { return *entity->getArgument(8); } void IfcTypeProcess::setProcessType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcRelAssignsToProcess::list IfcTypeProcess::OperatesOn() { RETURN_INVERSE(IfcRelAssignsToProcess) } +IfcRelAssignsToProcess::list::ptr IfcTypeProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess)->as(); } bool IfcTypeProcess::is(Type::Enum v) const { return v == Type::IfcTypeProcess || IfcTypeObject::is(v); } Type::Enum IfcTypeProcess::type() const { return Type::IfcTypeProcess; } Type::Enum IfcTypeProcess::Class() { return Type::IfcTypeProcess; } -IfcTypeProcess::IfcTypeProcess(IfcAbstractEntityPtr e) : IfcTypeObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTypeProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProcess::IfcTypeProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType) : IfcTypeObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTypeProcess::IfcTypeProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProduct -bool IfcTypeProduct::hasRepresentationMaps() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > IfcTypeProduct::RepresentationMaps() { RETURN_AS_LIST(IfcRepresentationMap,6) } -void IfcTypeProduct::setRepresentationMaps(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcTypeProduct::hasTag() { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTypeProduct::Tag() { return *entity->getArgument(7); } +bool IfcTypeProduct::hasRepresentationMaps() const { return !entity->getArgument(6)->isNull(); } +IfcTemplatedEntityList< IfcRepresentationMap >::ptr IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } +void IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } +bool IfcTypeProduct::hasTag() const { return !entity->getArgument(7)->isNull(); } +IfcLabel IfcTypeProduct::Tag() const { return *entity->getArgument(7); } void IfcTypeProduct::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcRelAssignsToProduct::list IfcTypeProduct::ReferencedBy() { RETURN_INVERSE(IfcRelAssignsToProduct) } +IfcRelAssignsToProduct::list::ptr IfcTypeProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct)->as(); } bool IfcTypeProduct::is(Type::Enum v) const { return v == Type::IfcTypeProduct || IfcTypeObject::is(v); } Type::Enum IfcTypeProduct::type() const { return Type::IfcTypeProduct; } Type::Enum IfcTypeProduct::Class() { return Type::IfcTypeProduct; } -IfcTypeProduct::IfcTypeProduct(IfcAbstractEntityPtr e) : IfcTypeObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProduct::IfcTypeProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag) : IfcTypeObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (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(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTypeProduct::IfcTypeProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeResource -bool IfcTypeResource::hasIdentification() { return !entity->getArgument(6)->isNull(); } -IfcIdentifier IfcTypeResource::Identification() { return *entity->getArgument(6); } +bool IfcTypeResource::hasIdentification() const { return !entity->getArgument(6)->isNull(); } +IfcIdentifier IfcTypeResource::Identification() const { return *entity->getArgument(6); } void IfcTypeResource::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcTypeResource::hasLongDescription() { return !entity->getArgument(7)->isNull(); } -IfcText IfcTypeResource::LongDescription() { return *entity->getArgument(7); } +bool IfcTypeResource::hasLongDescription() const { return !entity->getArgument(7)->isNull(); } +IfcText IfcTypeResource::LongDescription() const { return *entity->getArgument(7); } void IfcTypeResource::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcTypeResource::hasResourceType() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcTypeResource::ResourceType() { return *entity->getArgument(8); } +bool IfcTypeResource::hasResourceType() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcTypeResource::ResourceType() const { return *entity->getArgument(8); } void IfcTypeResource::setResourceType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcRelAssignsToResource::list IfcTypeResource::ResourceOf() { RETURN_INVERSE(IfcRelAssignsToResource) } +IfcRelAssignsToResource::list::ptr IfcTypeResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource)->as(); } bool IfcTypeResource::is(Type::Enum v) const { return v == Type::IfcTypeResource || IfcTypeObject::is(v); } Type::Enum IfcTypeResource::type() const { return Type::IfcTypeResource; } Type::Enum IfcTypeResource::Class() { return Type::IfcTypeResource; } -IfcTypeResource::IfcTypeResource(IfcAbstractEntityPtr e) : IfcTypeObject((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcTypeResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeResource::IfcTypeResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType) : IfcTypeObject((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { 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(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcTypeResource::IfcTypeResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUShapeProfileDef -IfcPositiveLengthMeasure IfcUShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcUShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } void IfcUShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcUShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcUShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcUShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcUShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcUShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcUShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcUShapeProfileDef::hasEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcUShapeProfileDef::EdgeRadius() { return *entity->getArgument(8); } +bool IfcUShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcNonNegativeLengthMeasure IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } void IfcUShapeProfileDef::setEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcUShapeProfileDef::hasFlangeSlope() { return !entity->getArgument(9)->isNull(); } -IfcPlaneAngleMeasure IfcUShapeProfileDef::FlangeSlope() { return *entity->getArgument(9); } +bool IfcUShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } +IfcPlaneAngleMeasure IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } void IfcUShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitAssignment -SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > IfcUnitAssignment::Units() { RETURN_AS_LIST(IfcUtil::IfcAbstractSelect,0) } -void IfcUnitAssignment::setUnits(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcUnitAssignment::Units() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcUnitAssignment::setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } 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; } -IfcUnitAssignment::IfcUnitAssignment(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcUnitAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitAssignment::IfcUnitAssignment(IfcEntities v1_Units) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Units)); entity = e; EntityBuffer::Add(this); } +IfcUnitAssignment::IfcUnitAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcUnitAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum IfcUnitaryControlElement::PredefinedType() { return IfcUnitaryControlElementTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryControlElement::IfcUnitaryControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUnitaryControlElement::IfcUnitaryControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryControlElementType -IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum IfcUnitaryControlElementType::PredefinedType() { return IfcUnitaryControlElementTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryEquipment -bool IfcUnitaryEquipment::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipment::PredefinedType() { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipment::IfcUnitaryEquipment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUnitaryEquipment::IfcUnitaryEquipment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryEquipmentType -IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipmentType::PredefinedType() { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValve -bool IfcValve::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcValveTypeEnum::IfcValveTypeEnum IfcValve::PredefinedType() { return IfcValveTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowController((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcValve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValve::IfcValve(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcValve::IfcValve(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcValveTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValveType -IfcValveTypeEnum::IfcValveTypeEnum IfcValveType::PredefinedType() { return IfcValveTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValveType::IfcValveType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcValveType::IfcValveType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVector -IfcDirection* IfcVector::Orientation() { return (IfcDirection*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +IfcDirection* IfcVector::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcVector::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcVector::Magnitude() { return *entity->getArgument(1); } +IfcLengthMeasure IfcVector::Magnitude() const { return *entity->getArgument(1); } void IfcVector::setMagnitude(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcVector::is(Type::Enum v) const { return v == Type::IfcVector || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcVector::type() const { return Type::IfcVector; } Type::Enum IfcVector::Class() { return Type::IfcVector; } -IfcVector::IfcVector(IfcAbstractEntityPtr e) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVector)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVector::IfcVector(IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } +IfcVector::IfcVector(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVector)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVector::IfcVector(IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertex bool IfcVertex::is(Type::Enum v) const { return v == Type::IfcVertex || IfcTopologicalRepresentationItem::is(v); } Type::Enum IfcVertex::type() const { return Type::IfcVertex; } Type::Enum IfcVertex::Class() { return Type::IfcVertex; } -IfcVertex::IfcVertex(IfcAbstractEntityPtr e) : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +IfcVertex::IfcVertex(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertexLoop -IfcVertex* IfcVertexLoop::LoopVertex() { return (IfcVertex*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcVertexLoop::IfcVertexLoop(IfcAbstractEntityPtr e) : IfcLoop((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVertexLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertexLoop::IfcVertexLoop(IfcVertex* v1_LoopVertex) : IfcLoop((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LoopVertex)); entity = e; EntityBuffer::Add(this); } +IfcVertexLoop::IfcVertexLoop(IfcAbstractEntity* e) : IfcLoop((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVertexLoop)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVertexLoop::IfcVertexLoop(IfcVertex* v1_LoopVertex) : IfcLoop((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LoopVertex)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertexPoint -IfcPoint* IfcVertexPoint::VertexGeometry() { return (IfcPoint*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(0))); } +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); } 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; } -IfcVertexPoint::IfcVertexPoint(IfcAbstractEntityPtr e) : IfcVertex((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVertexPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVertexPoint::IfcVertexPoint(IfcPoint* v1_VertexGeometry) : IfcVertex((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VertexGeometry)); entity = e; EntityBuffer::Add(this); } +IfcVertexPoint::IfcVertexPoint(IfcAbstractEntity* e) : IfcVertex((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVertexPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +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() { return !entity->getArgument(8)->isNull(); } -IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolator::PredefinedType() { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponent((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolator::IfcVibrationIsolator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVibrationIsolator::IfcVibrationIsolator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVibrationIsolatorType -IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolatorType::PredefinedType() { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcElementComponentType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualElement::IfcVirtualElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->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(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVirtualElement::IfcVirtualElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualGridIntersection -SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IfcVirtualGridIntersection::IntersectingAxes() { RETURN_AS_LIST(IfcGridAxis,0) } -void IfcVirtualGridIntersection::setIntersectingAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() { return *entity->getArgument(1); } +IfcTemplatedEntityList< IfcGridAxis >::ptr IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } +void IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } void IfcVirtualGridIntersection::setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcVirtualGridIntersection::is(Type::Enum v) const { return v == Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::type() const { return Type::IfcVirtualGridIntersection; } Type::Enum IfcVirtualGridIntersection::Class() { return Type::IfcVirtualGridIntersection; } -IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntityPtr e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVirtualGridIntersection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualGridIntersection::IfcVirtualGridIntersection(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } +IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVirtualGridIntersection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVoidingFeature -bool IfcVoidingFeature::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum IfcVoidingFeature::PredefinedType() { return IfcVoidingFeatureTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcVoidingFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVoidingFeature::IfcVoidingFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVoidingFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcVoidingFeature::IfcVoidingFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVoidingFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWall -bool IfcWall::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcWallTypeEnum::IfcWallTypeEnum IfcWall::PredefinedType() { return IfcWallTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWall::IfcWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWall::IfcWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcWall((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWallElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallElementedCase::IfcWallElementedCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWallElementedCase::IfcWallElementedCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcWall((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallStandardCase::IfcWallStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWallStandardCase::IfcWallStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallType -IfcWallTypeEnum::IfcWallTypeEnum IfcWallType::PredefinedType() { return IfcWallTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallType::IfcWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWallType::IfcWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminal -bool IfcWasteTerminal::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminal::PredefinedType() { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminal::IfcWasteTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->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(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWasteTerminal::IfcWasteTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWasteTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminalType -IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalType::PredefinedType() { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(9)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminalType::IfcWasteTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWasteTerminalType::IfcWasteTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindow -bool IfcWindow::hasOverallHeight() { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallHeight() { return *entity->getArgument(8); } +bool IfcWindow::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } +IfcPositiveLengthMeasure IfcWindow::OverallHeight() const { return *entity->getArgument(8); } void IfcWindow::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindow::hasOverallWidth() { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallWidth() { return *entity->getArgument(9); } +bool IfcWindow::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } +IfcPositiveLengthMeasure IfcWindow::OverallWidth() const { return *entity->getArgument(9); } void IfcWindow::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWindow::hasPredefinedType() { return !entity->getArgument(10)->isNull(); } -IfcWindowTypeEnum::IfcWindowTypeEnum IfcWindow::PredefinedType() { return IfcWindowTypeEnum::FromString(*entity->getArgument(10)); } +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() { return !entity->getArgument(11)->isNull(); } -IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum IfcWindow::PartitioningType() { return IfcWindowTypePartitioningEnum::FromString(*entity->getArgument(11)); } +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() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcWindow::UserDefinedPartitioningType() { return *entity->getArgument(12); } +bool IfcWindow::hasUserDefinedPartitioningType() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcWindow::UserDefinedPartitioningType() const { return *entity->getArgument(12); } void IfcWindow::setUserDefinedPartitioningType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElement((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindow::IfcWindow(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcBuildingElement((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindow::IfcWindow(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowLiningProperties -bool IfcWindowLiningProperties::hasLiningDepth() { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningDepth() { return *entity->getArgument(4); } +bool IfcWindowLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } +IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } void IfcWindowLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWindowLiningProperties::hasLiningThickness() { return !entity->getArgument(5)->isNull(); } -IfcNonNegativeLengthMeasure IfcWindowLiningProperties::LiningThickness() { return *entity->getArgument(5); } +bool IfcWindowLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } +IfcNonNegativeLengthMeasure IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } void IfcWindowLiningProperties::setLiningThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -bool IfcWindowLiningProperties::hasTransomThickness() { return !entity->getArgument(6)->isNull(); } -IfcNonNegativeLengthMeasure IfcWindowLiningProperties::TransomThickness() { return *entity->getArgument(6); } +bool IfcWindowLiningProperties::hasTransomThickness() const { return !entity->getArgument(6)->isNull(); } +IfcNonNegativeLengthMeasure IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } void IfcWindowLiningProperties::setTransomThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowLiningProperties::hasMullionThickness() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcWindowLiningProperties::MullionThickness() { return *entity->getArgument(7); } +bool IfcWindowLiningProperties::hasMullionThickness() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } void IfcWindowLiningProperties::setMullionThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowLiningProperties::hasFirstTransomOffset() { return !entity->getArgument(8)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstTransomOffset() { return *entity->getArgument(8); } +bool IfcWindowLiningProperties::hasFirstTransomOffset() const { return !entity->getArgument(8)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } void IfcWindowLiningProperties::setFirstTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWindowLiningProperties::hasSecondTransomOffset() { return !entity->getArgument(9)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondTransomOffset() { return *entity->getArgument(9); } +bool IfcWindowLiningProperties::hasSecondTransomOffset() const { return !entity->getArgument(9)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } void IfcWindowLiningProperties::setSecondTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWindowLiningProperties::hasFirstMullionOffset() { return !entity->getArgument(10)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstMullionOffset() { return *entity->getArgument(10); } +bool IfcWindowLiningProperties::hasFirstMullionOffset() const { return !entity->getArgument(10)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } void IfcWindowLiningProperties::setFirstMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -bool IfcWindowLiningProperties::hasSecondMullionOffset() { return !entity->getArgument(11)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondMullionOffset() { return *entity->getArgument(11); } +bool IfcWindowLiningProperties::hasSecondMullionOffset() const { return !entity->getArgument(11)->isNull(); } +IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } void IfcWindowLiningProperties::setSecondMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWindowLiningProperties::hasShapeAspectStyle() { return !entity->getArgument(12)->isNull(); } -IfcShapeAspect* IfcWindowLiningProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(12))); } +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() { return !entity->getArgument(13)->isNull(); } -IfcLengthMeasure IfcWindowLiningProperties::LiningOffset() { return *entity->getArgument(13); } +bool IfcWindowLiningProperties::hasLiningOffset() const { return !entity->getArgument(13)->isNull(); } +IfcLengthMeasure IfcWindowLiningProperties::LiningOffset() const { return *entity->getArgument(13); } void IfcWindowLiningProperties::setLiningOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -bool IfcWindowLiningProperties::hasLiningToPanelOffsetX() { return !entity->getArgument(14)->isNull(); } -IfcLengthMeasure IfcWindowLiningProperties::LiningToPanelOffsetX() { return *entity->getArgument(14); } +bool IfcWindowLiningProperties::hasLiningToPanelOffsetX() const { return !entity->getArgument(14)->isNull(); } +IfcLengthMeasure IfcWindowLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(14); } void IfcWindowLiningProperties::setLiningToPanelOffsetX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -bool IfcWindowLiningProperties::hasLiningToPanelOffsetY() { return !entity->getArgument(15)->isNull(); } -IfcLengthMeasure IfcWindowLiningProperties::LiningToPanelOffsetY() { return *entity->getArgument(15); } +bool IfcWindowLiningProperties::hasLiningToPanelOffsetY() const { return !entity->getArgument(15)->isNull(); } +IfcLengthMeasure IfcWindowLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(15); } void IfcWindowLiningProperties::setLiningToPanelOffsetY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } 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(IfcAbstractEntityPtr e) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowLiningProperties::IfcWindowLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_TransomThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v14_LiningOffset, boost::optional< IfcLengthMeasure > v15_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_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(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowLiningProperties::IfcWindowLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_TransomThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v14_LiningOffset, boost::optional< IfcLengthMeasure > v15_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); if (v14_LiningOffset) { e->setArgument(13,(*v14_LiningOffset)); } else { e->setArgument(13); } if (v15_LiningToPanelOffsetX) { e->setArgument(14,(*v15_LiningToPanelOffsetX)); } else { e->setArgument(14); } if (v16_LiningToPanelOffsetY) { e->setArgument(15,(*v16_LiningToPanelOffsetY)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowPanelProperties -IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelProperties::OperationType() { return IfcWindowPanelOperationEnum::FromString(*entity->getArgument(4)); } +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)); } -IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelProperties::PanelPosition() { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } +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() { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameDepth() { return *entity->getArgument(6); } +bool IfcWindowPanelProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } +IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } void IfcWindowPanelProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWindowPanelProperties::hasFrameThickness() { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameThickness() { return *entity->getArgument(7); } +bool IfcWindowPanelProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } +IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } void IfcWindowPanelProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcWindowPanelProperties::hasShapeAspectStyle() { return !entity->getArgument(8)->isNull(); } -IfcShapeAspect* IfcWindowPanelProperties::ShapeAspectStyle() { return (IfcShapeAspect*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(8))); } +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); } 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(IfcAbstractEntityPtr e) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowPanelProperties::IfcWindowPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->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(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowPanelProperties::IfcWindowPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // 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(IfcAbstractEntityPtr e) : IfcWindow((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStandardCase::IfcWindowStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcWindow((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } 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(IfcAbstractEntity* e) : IfcWindow((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowStandardCase::IfcWindowStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcWindow((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStyle -IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyle::ConstructionType() { return IfcWindowStyleConstructionEnum::FromString(*entity->getArgument(8)); } +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)); } -IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum IfcWindowStyle::OperationType() { return IfcWindowStyleOperationEnum::FromString(*entity->getArgument(9)); } +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)); } -bool IfcWindowStyle::ParameterTakesPrecedence() { return *entity->getArgument(10); } +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); } -bool IfcWindowStyle::Sizeable() { return *entity->getArgument(11); } +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); } 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(IfcAbstractEntityPtr e) : IfcTypeProduct((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStyle::IfcWindowStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (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(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowStyle::IfcWindowStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowType -IfcWindowTypeEnum::IfcWindowTypeEnum IfcWindowType::PredefinedType() { return IfcWindowTypeEnum::FromString(*entity->getArgument(9)); } +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)); } -IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum IfcWindowType::PartitioningType() { return IfcWindowTypePartitioningEnum::FromString(*entity->getArgument(10)); } +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() { return !entity->getArgument(11)->isNull(); } -bool IfcWindowType::ParameterTakesPrecedence() { return *entity->getArgument(11); } +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() { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcWindowType::UserDefinedPartitioningType() { return *entity->getArgument(12); } +bool IfcWindowType::hasUserDefinedPartitioningType() const { return !entity->getArgument(12)->isNull(); } +IfcLabel IfcWindowType::UserDefinedPartitioningType() const { return *entity->getArgument(12); } void IfcWindowType::setUserDefinedPartitioningType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWindowType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowType::IfcWindowType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcBuildingElementType((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(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(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWindowType::IfcWindowType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWindowTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_PartitioningType,IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkCalendar -bool IfcWorkCalendar::hasWorkingTimes() { return !entity->getArgument(6)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > IfcWorkCalendar::WorkingTimes() { RETURN_AS_LIST(IfcWorkTime,6) } -void IfcWorkCalendar::setWorkingTimes(SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } -bool IfcWorkCalendar::hasExceptionTimes() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > IfcWorkCalendar::ExceptionTimes() { RETURN_AS_LIST(IfcWorkTime,7) } -void IfcWorkCalendar::setExceptionTimes(SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcWorkCalendar::hasPredefinedType() { return !entity->getArgument(8)->isNull(); } -IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum IfcWorkCalendar::PredefinedType() { return IfcWorkCalendarTypeEnum::FromString(*entity->getArgument(8)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkCalendar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkCalendar::IfcWorkCalendar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > > v7_WorkingTimes, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkCalendar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkCalendar::IfcWorkCalendar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_WorkingTimes) { e->setArgument(6,(*v7_WorkingTimes)->generalize()); } else { e->setArgument(6); } if (v8_ExceptionTimes) { e->setArgument(7,(*v8_ExceptionTimes)->generalize()); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkControl -IfcDateTime IfcWorkControl::CreationDate() { return *entity->getArgument(6); } +IfcDateTime IfcWorkControl::CreationDate() const { return *entity->getArgument(6); } void IfcWorkControl::setCreationDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcWorkControl::hasCreators() { return !entity->getArgument(7)->isNull(); } -SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > IfcWorkControl::Creators() { RETURN_AS_LIST(IfcPerson,7) } -void IfcWorkControl::setCreators(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } -bool IfcWorkControl::hasPurpose() { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcWorkControl::Purpose() { return *entity->getArgument(8); } +bool IfcWorkControl::hasCreators() const { return !entity->getArgument(7)->isNull(); } +IfcTemplatedEntityList< IfcPerson >::ptr IfcWorkControl::Creators() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } +void IfcWorkControl::setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +bool IfcWorkControl::hasPurpose() const { return !entity->getArgument(8)->isNull(); } +IfcLabel IfcWorkControl::Purpose() const { return *entity->getArgument(8); } void IfcWorkControl::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -bool IfcWorkControl::hasDuration() { return !entity->getArgument(9)->isNull(); } -IfcDuration IfcWorkControl::Duration() { return *entity->getArgument(9); } +bool IfcWorkControl::hasDuration() const { return !entity->getArgument(9)->isNull(); } +IfcDuration IfcWorkControl::Duration() const { return *entity->getArgument(9); } void IfcWorkControl::setDuration(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -bool IfcWorkControl::hasTotalFloat() { return !entity->getArgument(10)->isNull(); } -IfcDuration IfcWorkControl::TotalFloat() { return *entity->getArgument(10); } +bool IfcWorkControl::hasTotalFloat() const { return !entity->getArgument(10)->isNull(); } +IfcDuration IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } void IfcWorkControl::setTotalFloat(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcDateTime IfcWorkControl::StartTime() { return *entity->getArgument(11); } +IfcDateTime IfcWorkControl::StartTime() const { return *entity->getArgument(11); } void IfcWorkControl::setStartTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -bool IfcWorkControl::hasFinishTime() { return !entity->getArgument(12)->isNull(); } -IfcDateTime IfcWorkControl::FinishTime() { return *entity->getArgument(12); } +bool IfcWorkControl::hasFinishTime() const { return !entity->getArgument(12)->isNull(); } +IfcDateTime IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } void IfcWorkControl::setFinishTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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(IfcAbstractEntityPtr e) : IfcControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkControl::IfcWorkControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime) : IfcControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkControl::IfcWorkControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkPlan -bool IfcWorkPlan::hasPredefinedType() { return !entity->getArgument(13)->isNull(); } -IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum IfcWorkPlan::PredefinedType() { return IfcWorkPlanTypeEnum::FromString(*entity->getArgument(13)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcWorkControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkPlan::IfcWorkPlan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkPlan::IfcWorkPlan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkSchedule -bool IfcWorkSchedule::hasPredefinedType() { return !entity->getArgument(13)->isNull(); } -IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum IfcWorkSchedule::PredefinedType() { return IfcWorkScheduleTypeEnum::FromString(*entity->getArgument(13)); } +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)); } 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(IfcAbstractEntityPtr e) : IfcWorkControl((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkSchedule::IfcWorkSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkSchedule::IfcWorkSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkTime -bool IfcWorkTime::hasRecurrencePattern() { return !entity->getArgument(3)->isNull(); } -IfcRecurrencePattern* IfcWorkTime::RecurrencePattern() { return (IfcRecurrencePattern*)((IfcUtil::IfcSchemaEntity)(*entity->getArgument(3))); } +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() { return !entity->getArgument(4)->isNull(); } -IfcDate IfcWorkTime::Start() { return *entity->getArgument(4); } +bool IfcWorkTime::hasStart() const { return !entity->getArgument(4)->isNull(); } +IfcDate IfcWorkTime::Start() const { return *entity->getArgument(4); } void IfcWorkTime::setStart(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -bool IfcWorkTime::hasFinish() { return !entity->getArgument(5)->isNull(); } -IfcDate IfcWorkTime::Finish() { return *entity->getArgument(5); } +bool IfcWorkTime::hasFinish() const { return !entity->getArgument(5)->isNull(); } +IfcDate IfcWorkTime::Finish() const { return *entity->getArgument(5); } void IfcWorkTime::setFinish(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcSchedulingTime((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcWorkTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkTime::IfcWorkTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< IfcDate > v5_Start, boost::optional< IfcDate > v6_Finish) : IfcSchedulingTime((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcWorkTime::IfcWorkTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< IfcDate > v5_Start, boost::optional< IfcDate > v6_Finish) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_RecurrencePattern)); if (v5_Start) { e->setArgument(4,(*v5_Start)); } else { e->setArgument(4); } if (v6_Finish) { e->setArgument(5,(*v6_Finish)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZShapeProfileDef -IfcPositiveLengthMeasure IfcZShapeProfileDef::Depth() { return *entity->getArgument(3); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } void IfcZShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeWidth() { return *entity->getArgument(4); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } void IfcZShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::WebThickness() { return *entity->getArgument(5); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } void IfcZShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeThickness() { return *entity->getArgument(6); } +IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } void IfcZShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -bool IfcZShapeProfileDef::hasFilletRadius() { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcZShapeProfileDef::FilletRadius() { return *entity->getArgument(7); } +bool IfcZShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } +IfcNonNegativeLengthMeasure IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } void IfcZShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -bool IfcZShapeProfileDef::hasEdgeRadius() { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcZShapeProfileDef::EdgeRadius() { return *entity->getArgument(8); } +bool IfcZShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } +IfcNonNegativeLengthMeasure IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } void IfcZShapeProfileDef::setEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } 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(IfcAbstractEntityPtr e) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntityPtr)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(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZone -bool IfcZone::hasLongName() { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcZone::LongName() { return *entity->getArgument(5); } +bool IfcZone::hasLongName() const { return !entity->getArgument(5)->isNull(); } +IfcLabel IfcZone::LongName() const { return *entity->getArgument(5); } void IfcZone::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } 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(IfcAbstractEntityPtr e) : IfcSystem((IfcAbstractEntityPtr)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZone::IfcZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName) : IfcSystem((IfcAbstractEntityPtr)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_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(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcZone::IfcZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } -#endif \ No newline at end of file +#endif diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 76845cce77..bd51849740 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -1133,7 +1133,7 @@ typedef double IfcWarpingMomentMeasure; /// IfcOrganization An organization. /// IfcPerson A person. /// IfcPersonAndOrganization A person related to an organization. -typedef IfcUtil::IfcSchemaEntity IfcActorSelect; +typedef IfcUtil::IfcBaseClass* IfcActorSelect; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// /// Select from: @@ -1148,17 +1148,17 @@ typedef IfcUtil::IfcSchemaEntity IfcActorSelect; /// Selecting IfcMeasureWithUnit allows the specification of both the actual figure for the value together with the currency in which the value is represented. /// Selecting IfcMonetaryMeasure allows the specification only of the value, the currency being as set by the global context /// Selecting IfcRatioMeasure assumes that the amount is a percentage or other REAL number. Note that if the amount is normally specified as -20%, then this figure will need to be converted to a multiplier of 0.8 -typedef IfcUtil::IfcSchemaEntity IfcAppliedValueSelect; +typedef IfcUtil::IfcBaseClass* IfcAppliedValueSelect; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// /// NOTE: Corresponding STEP type: axis2_placement, please refer to ISO/IS 10303-42:1994, p. 19 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 1.5 -typedef IfcUtil::IfcSchemaEntity IfcAxis2Placement; +typedef IfcUtil::IfcBaseClass* IfcAxis2Placement; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// /// HISTORY New type in IFC Release 2x4 -typedef IfcUtil::IfcSchemaEntity IfcBendingParameterSelect; +typedef IfcUtil::IfcBaseClass* IfcBendingParameterSelect; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to /// form a CSG solid. @@ -1175,7 +1175,7 @@ typedef IfcUtil::IfcSchemaEntity IfcBendingParameterSelect; /// (IfcSolidModel) are defined for being valid Boolean operands. /// /// HISTORY: New Type in IFC Release 1.5.1 -typedef IfcUtil::IfcSchemaEntity IfcBooleanOperand; +typedef IfcUtil::IfcBaseClass* IfcBooleanOperand; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// /// HISTORY: New Select Type in IFC2x @@ -1184,7 +1184,7 @@ typedef IfcUtil::IfcSchemaEntity IfcBooleanOperand; /// /// IfcClassification (for classification information) /// IfcClassificationReference (for reference into a classification source) -typedef IfcUtil::IfcSchemaEntity IfcClassificationReferenceSelect; +typedef IfcUtil::IfcBaseClass* IfcClassificationReferenceSelect; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// /// NOTE  Generally, it is expected that selection will be by IfcClassificationReference to identify an individual classification notation that classifies an element in the building information model. For example an element, such as IfcTank, might be further classified by assigning an IfcClassificationReference with Identification = "L6814" and a ClassificationSource identifying the appropriate version of Uniclass. IfcClassification should only be selected in @@ -1198,36 +1198,36 @@ typedef IfcUtil::IfcSchemaEntity IfcClassificationReferenceSelect; /// /// IfcClassification (for referencing a classification system) /// IfcClassificationReference (for referencing a classification item (or facet) inside a classification system) -typedef IfcUtil::IfcSchemaEntity IfcClassificationSelect; +typedef IfcUtil::IfcBaseClass* IfcClassificationSelect; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// /// NOTE  Corresponding STEP name: colour. It has been made into a SELECT type in IFC to avoid multiple inheritance for pre defined colour. Please refer to ISO/IS 10303-46:1994, p. 138 for the final definition of the formal standard. /// /// HISTORY  New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcColour; +typedef IfcUtil::IfcBaseClass* IfcColour; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// /// HISTORY: New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcColourOrFactor; +typedef IfcUtil::IfcBaseClass* IfcColourOrFactor; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcCoordinateReferenceSystemSelect; +typedef IfcUtil::IfcBaseClass* IfcCoordinateReferenceSystemSelect; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. /// /// NOTE Corresponding ISO 10303-42 type: csg_select, please refer to ISO/IS 10303-42:1994, p.168 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.5.1. -typedef IfcUtil::IfcSchemaEntity IfcCsgSelect; +typedef IfcUtil::IfcBaseClass* IfcCsgSelect; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// /// NOTE Corresponding ISO 10303 name: curve_font_or_scaled_curve_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcCurveFontOrScaledCurveFontSelect; +typedef IfcUtil::IfcBaseClass* IfcCurveFontOrScaledCurveFontSelect; -typedef IfcUtil::IfcSchemaEntity IfcCurveOnSurface; +typedef IfcUtil::IfcBaseClass* IfcCurveOnSurface; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. /// SELECT @@ -1236,13 +1236,13 @@ typedef IfcUtil::IfcSchemaEntity IfcCurveOnSurface; /// IfcEdgeCurve /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcSchemaEntity IfcCurveOrEdgeCurve; +typedef IfcUtil::IfcBaseClass* IfcCurveOrEdgeCurve; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// /// NOTE Corresponding ISO 10303 name: curve_style_font_select. Please refer to ISO/IS 10303-46:1994 for the final definition of the formal standard. /// /// HISTORY New entity in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcCurveStyleFontSelect; +typedef IfcUtil::IfcBaseClass* IfcCurveStyleFontSelect; /// IfcDefinitionSelect provides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT /// @@ -1250,7 +1250,7 @@ typedef IfcUtil::IfcSchemaEntity IfcCurveStyleFontSelect; /// IfcPropertyDefinition /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcDefinitionSelect; +typedef IfcUtil::IfcBaseClass* IfcDefinitionSelect; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// /// SELECT @@ -1325,7 +1325,7 @@ typedef IfcUtil::IfcSchemaEntity IfcDefinitionSelect; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 change: added IfcTemperatureRateOfChangeMeasure. -typedef IfcUtil::IfcSchemaEntity IfcDerivedMeasureValue; +typedef IfcUtil::IfcBaseClass* IfcDerivedMeasureValue; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC 2x @@ -1334,20 +1334,20 @@ typedef IfcUtil::IfcSchemaEntity IfcDerivedMeasureValue; /// /// IfcDocumentInformation (for "metadata" of an external document) /// IfcDocumentReference (for reference within a document) -typedef IfcUtil::IfcSchemaEntity IfcDocumentSelect; +typedef IfcUtil::IfcBaseClass* IfcDocumentSelect; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// /// NOTE Corresponding ISO 10303 name: fill_style_select. Please refer to ISO/IS 10303-46:1994 for /// the final definition of the formal standard. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcFillStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcFillStyleSelect; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// /// NOTE: Corresponding ISO 10303 type: geometric_set_select. Please refer to ISO/IS 10303-42:1994, p. 169 for the final definition of the formal standard. /// /// HISTORY: New type in IFC Release 2x. -typedef IfcUtil::IfcSchemaEntity IfcGeometricSetSelect; +typedef IfcUtil::IfcBaseClass* IfcGeometricSetSelect; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// /// SELECT @@ -1356,11 +1356,11 @@ typedef IfcUtil::IfcSchemaEntity IfcGeometricSetSelect; /// IfcVirtualGridIntersection /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcGridPlacementDirectionSelect; +typedef IfcUtil::IfcBaseClass* IfcGridPlacementDirectionSelect; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// /// HISTORY  New type in IFC2x3. -typedef IfcUtil::IfcSchemaEntity IfcHatchLineDistanceSelect; +typedef IfcUtil::IfcBaseClass* IfcHatchLineDistanceSelect; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// /// It is the collection of all those items, that are assigned to a single layer. These items are representation items or complete representations (IfcRepresentationItem, IfcRepresentation). If an IfcRepresentation is referenced, all IfcRepresentationItem within its set of Items are assigned to the same layer. @@ -1368,7 +1368,7 @@ typedef IfcUtil::IfcSchemaEntity IfcHatchLineDistanceSelect; /// NOTE: Corresponding ISO 10303 name: layered_item. It was called layered_things in the ISO/CD version and had been renamed to layered_item in the ISO/IS final version. Please refer to ISO/IS 10303-46:1994, p. 13 for the final definition of the formal standard. /// /// HISTORY: New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcLayeredItem; +typedef IfcUtil::IfcBaseClass* IfcLayeredItem; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// /// HISTORY: New Select Type in IFC2x @@ -1379,7 +1379,7 @@ typedef IfcUtil::IfcSchemaEntity IfcLayeredItem; /// IfcLibraryReference (for reference into a library of information by location) /// /// Generally, it is expected that selection will be IfcLibraryReference and only rarely IfcLibraryInformation. IfcLibraryInformation should only be selected in circumstances where there could be a need to indicate the libraries that will be used without making individual references. This may occur for higher level objects such as a project or building. -typedef IfcUtil::IfcSchemaEntity IfcLibrarySelect; +typedef IfcUtil::IfcBaseClass* IfcLibrarySelect; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// /// The light distribution provides the luminous intensity distribution according to some standardized light distribution curves. @@ -1402,7 +1402,7 @@ typedef IfcUtil::IfcSchemaEntity IfcLibrarySelect; /// directions covers all cases. /// /// HISTORY New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcLightDistributionDataSourceSelect; +typedef IfcUtil::IfcBaseClass* IfcLightDistributionDataSourceSelect; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to /// an element, a resource or another entity within IFC. @@ -1429,7 +1429,7 @@ typedef IfcUtil::IfcSchemaEntity IfcLightDistributionDataSourceSelect; /// /// IFC2x4 CHANGE The select now includes two new abstract entities IfcMaterialDefinition /// and IfcMaterialUsageDefinition with upward compatibility. The use of IfcMaterialList is deprecated from IFC2x4 onwards. -typedef IfcUtil::IfcSchemaEntity IfcMaterialSelect; +typedef IfcUtil::IfcBaseClass* IfcMaterialSelect; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// /// NOTE IfcMeasureValue is a select data type for most basic measure types coming from ISO 10303-41. Select item IfcNonNegativeLengthMeasure is in addition to ISO 10303-41. @@ -1439,7 +1439,7 @@ typedef IfcUtil::IfcSchemaEntity IfcMaterialSelect; /// HISTORY New type in IFC Release 1.5.1. /// /// IFC 2x4 change: added IfcNonNegativeLengthMeasure -typedef IfcUtil::IfcSchemaEntity IfcMeasureValue; +typedef IfcUtil::IfcBaseClass* IfcMeasureValue; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// /// HISTORY: New type in IFC Release 2.0 @@ -1452,23 +1452,23 @@ typedef IfcUtil::IfcSchemaEntity IfcMeasureValue; /// IfcTable /// IfcText /// IfcTimeSeries -typedef IfcUtil::IfcSchemaEntity IfcMetricValueSelect; +typedef IfcUtil::IfcBaseClass* IfcMetricValueSelect; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -typedef IfcUtil::IfcSchemaEntity IfcModulusOfRotationalSubgradeReactionSelect; +typedef IfcUtil::IfcBaseClass* IfcModulusOfRotationalSubgradeReactionSelect; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -typedef IfcUtil::IfcSchemaEntity IfcModulusOfSubgradeReactionSelect; +typedef IfcUtil::IfcBaseClass* IfcModulusOfSubgradeReactionSelect; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -typedef IfcUtil::IfcSchemaEntity IfcModulusOfTranslationalSubgradeReactionSelect; +typedef IfcUtil::IfcBaseClass* IfcModulusOfTranslationalSubgradeReactionSelect; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// /// HISTORY  New select type in IFC Release 2.0. -typedef IfcUtil::IfcSchemaEntity IfcObjectReferenceSelect; +typedef IfcUtil::IfcBaseClass* IfcObjectReferenceSelect; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT /// @@ -1476,7 +1476,7 @@ typedef IfcUtil::IfcSchemaEntity IfcObjectReferenceSelect; /// IfcVertexPoint /// /// HISTORY  New select type in IFC2x Edition 3. -typedef IfcUtil::IfcSchemaEntity IfcPointOrVertexPoint; +typedef IfcUtil::IfcBaseClass* IfcPointOrVertexPoint; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// /// NOTE Corresponding ISO 10303 name: presentation_style_Select. Please refer to ISO/IS @@ -1485,7 +1485,7 @@ typedef IfcUtil::IfcSchemaEntity IfcPointOrVertexPoint; /// HISTORY New type in IFC2x2. /// /// IFC2x4 CHANGE The select type has been deprecated. -typedef IfcUtil::IfcSchemaEntity IfcPresentationStyleSelect; +typedef IfcUtil::IfcBaseClass* IfcPresentationStyleSelect; /// IfcProcessSelect provides the option to either /// select a process or activity occurrence, IfcProcess, /// or a process or activity type, IfcTypeProcess. @@ -1496,9 +1496,9 @@ typedef IfcUtil::IfcSchemaEntity IfcPresentationStyleSelect; /// IfcTypeProcess /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcProcessSelect; +typedef IfcUtil::IfcBaseClass* IfcProcessSelect; -typedef IfcUtil::IfcSchemaEntity IfcProductRepresentationSelect; +typedef IfcUtil::IfcBaseClass* IfcProductRepresentationSelect; /// IfcProductSelect provides the option to either select a /// product occurrence, IfcProduct, or a product type, /// IfcTypeProduct. @@ -1508,13 +1508,13 @@ typedef IfcUtil::IfcSchemaEntity IfcProductRepresentationSelect; /// IfcTypeProduct /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcProductSelect; +typedef IfcUtil::IfcBaseClass* IfcProductSelect; -typedef IfcUtil::IfcSchemaEntity IfcPropertySetDefinitionSelect; +typedef IfcUtil::IfcBaseClass* IfcPropertySetDefinitionSelect; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// /// HISTORY  New Select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcResourceObjectSelect; +typedef IfcUtil::IfcBaseClass* IfcResourceObjectSelect; /// IfcResourceSelect provides the option to either select a /// resource occurrence, IfcResource, or a resource type, /// IfcTypeResource. @@ -1524,11 +1524,11 @@ typedef IfcUtil::IfcSchemaEntity IfcResourceObjectSelect; /// IfcTypeResource /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcResourceSelect; +typedef IfcUtil::IfcBaseClass* IfcResourceSelect; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -typedef IfcUtil::IfcSchemaEntity IfcRotationalStiffnessSelect; +typedef IfcUtil::IfcBaseClass* IfcRotationalStiffnessSelect; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < Â¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -1540,7 +1540,7 @@ typedef IfcUtil::IfcSchemaEntity IfcRotationalStiffnessSelect; /// NOTE  Corresponding ISO 10303 type: shell. Please refer to ISO/IS 10303-42:1994, p. 127 for the final definition of the formal standard. Only the select items closed_shell (IfcClosedShell) and open_shell (IfcOpenShell) have been incorporated in the current IFC release. /// /// HISTORY  New type in IFC2x. -typedef IfcUtil::IfcSchemaEntity IfcShell; +typedef IfcUtil::IfcBaseClass* IfcShell; /// IfcSimpleValue is a select type for selecting between simple value types. /// /// SELECT @@ -1560,7 +1560,7 @@ typedef IfcUtil::IfcSchemaEntity IfcShell; /// HISTORY New type in IFC Release 2x. /// /// IFC2x4 CHANGE Items IfcDateTime, IfcDate, IfcTime, IfcDuration added. -typedef IfcUtil::IfcSchemaEntity IfcSimpleValue; +typedef IfcUtil::IfcBaseClass* IfcSimpleValue; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// /// Definition from ISO: The size (or width) measure value is given in the global drawing length units. @@ -1573,7 +1573,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSimpleValue; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The SELECT item IfcMeasureWithUnit has been removed from the IfcSizeSelect, the IfcRatioMeasure and IfcDescriptiveMeasure has been added. -typedef IfcUtil::IfcSchemaEntity IfcSizeSelect; +typedef IfcUtil::IfcBaseClass* IfcSizeSelect; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT /// @@ -1581,7 +1581,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSizeSelect; /// IfcClosedShell /// /// HISTORY  New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcSolidOrShell; +typedef IfcUtil::IfcBaseClass* IfcSolidOrShell; /// Definition from IAI: The /// IfcSpaceBoundarySelect selects either an internal space /// for internal or external space boundaries, or an external spatial @@ -1594,7 +1594,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSolidOrShell; /// /// HISTORY  New select type /// in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcSpaceBoundarySelect; +typedef IfcUtil::IfcBaseClass* IfcSpaceBoundarySelect; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// /// NOTE: The two select types relate to the different ways to specifiy the sharpness (or shininess) of the specular part of the reflectance equation. It relates to the attributes: @@ -1605,7 +1605,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSpaceBoundarySelect; /// For each surface side style only one of the two methods is needed for calculating the specular part of the equation. /// /// HISTORY: New type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcSpecularHighlightSelect; +typedef IfcUtil::IfcBaseClass* IfcSpecularHighlightSelect; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of /// IfcStructuralItem or IfcBuildingElement. The @@ -1615,7 +1615,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSpecularHighlightSelect; /// /// HISTORY: New type in Release IFC2x /// Edition 2. -typedef IfcUtil::IfcSchemaEntity IfcStructuralActivityAssignmentSelect; +typedef IfcUtil::IfcBaseClass* IfcStructuralActivityAssignmentSelect; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// /// by directly assigning presentation styles as subtypes of IfcPresentationStyle @@ -1626,7 +1626,7 @@ typedef IfcUtil::IfcSchemaEntity IfcStructuralActivityAssignmentSelect; /// NOTE The select type has been introduced to provide an upward compatible improvement for assigning styles to a styled items. /// /// HISTORY New select type in IFC2x4. -typedef IfcUtil::IfcSchemaEntity IfcStyleAssignmentSelect; +typedef IfcUtil::IfcBaseClass* IfcStyleAssignmentSelect; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. /// SELECT @@ -1636,7 +1636,7 @@ typedef IfcUtil::IfcSchemaEntity IfcStyleAssignmentSelect; /// IfcFaceBasedSurfaceModel (a connected face set, representing a faceted surface as an approximation of a non planar, non rectangular bounded surface) /// /// HISTORY  New select type in IFC2x3. -typedef IfcUtil::IfcSchemaEntity IfcSurfaceOrFaceSurface; +typedef IfcUtil::IfcBaseClass* IfcSurfaceOrFaceSurface; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// /// The select type only includes the IfcSurfaceStyleRendering (which is the equivalent to surface_style_rendering) from the select type surface_style_element_select. In addition it has the IfcSurfaceStyleLighting, which holds the exact physically based lighting properties for lighting based calculation algorithms (as the opposite to the rendering based calculation), the IfcSurfaceStyleRefraction (for more advanced refraction indices) and IfcSurfaceStyleWithTextures (to allow for image textures applied to surfaces). In addition an IfcExternallyDefinedSurfaceStyle can be selected that points into an external material library. @@ -1646,7 +1646,7 @@ typedef IfcUtil::IfcSchemaEntity IfcSurfaceOrFaceSurface; /// NOTE: Corresponding ISO 10303 type: surface_style_element_select. Please refer to ISO/IS 10303-46:1994, p. 85 for the final definition of the formal standard. /// /// HISTORY: New Select type in IFC2x2. -typedef IfcUtil::IfcSchemaEntity IfcSurfaceStyleElementSelect; +typedef IfcUtil::IfcBaseClass* IfcSurfaceStyleElementSelect; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// /// NOTE  IfcTextFontSelect is an entity that had been adopted from ISO 10303, Industrial automation systems and integration—Product data representation and exchange, Part 46: Integrated generic resources: Visual presentation. Corresponding ISO 10303 name: font_select. Please refer to ISO/IS 10303-46:1994, p. 133 for the final definition of the formal standard. @@ -1654,20 +1654,20 @@ typedef IfcUtil::IfcSchemaEntity IfcSurfaceStyleElementSelect; /// HISTORY  New type in IFC2x2. /// /// IFC2x3 CHANGE  The select type has been renamed from IfcFontSelect. -typedef IfcUtil::IfcSchemaEntity IfcTextFontSelect; +typedef IfcUtil::IfcBaseClass* IfcTextFontSelect; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 -typedef IfcUtil::IfcSchemaEntity IfcTimeOrRatioSelect; +typedef IfcUtil::IfcBaseClass* IfcTimeOrRatioSelect; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -typedef IfcUtil::IfcSchemaEntity IfcTranslationalStiffnessSelect; +typedef IfcUtil::IfcBaseClass* IfcTranslationalStiffnessSelect; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// /// NOTE Corresponding ISO 10303 type: trimming_select, please refer to ISO/IS 10303-42:1994, p. 20 for the final definition of the formal standard. /// /// HISTORY New Type in IFC Release 1.0 -typedef IfcUtil::IfcSchemaEntity IfcTrimmingSelect; +typedef IfcUtil::IfcBaseClass* IfcTrimmingSelect; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// /// NOTE: Select item IfcMonetaryUnit is an addition to ISO 10303-41. @@ -1681,7 +1681,7 @@ typedef IfcUtil::IfcSchemaEntity IfcTrimmingSelect; /// IfcMonetaryUnit: A unit for defining currencies. /// /// HISTORY: New type in IFC Release 1.5.1. -typedef IfcUtil::IfcSchemaEntity IfcUnit; +typedef IfcUtil::IfcBaseClass* IfcUnit; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. /// @@ -1692,7 +1692,7 @@ typedef IfcUtil::IfcSchemaEntity IfcUnit; /// IfcDerivedMeasureValue A select type for derived measure types. /// /// HISTORY New type in IFC Release 2x. -typedef IfcUtil::IfcSchemaEntity IfcValue; +typedef IfcUtil::IfcBaseClass* IfcValue; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. /// @@ -1701,11 +1701,11 @@ typedef IfcUtil::IfcSchemaEntity IfcValue; /// definition of the formal standard. /// HISTORY New Type in IFC Release /// 1.5 -typedef IfcUtil::IfcSchemaEntity IfcVectorOrDirection; +typedef IfcUtil::IfcBaseClass* IfcVectorOrDirection; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// /// HISTORY: New type in IFC 2x4. -typedef IfcUtil::IfcSchemaEntity IfcWarpingStiffnessSelect; +typedef IfcUtil::IfcBaseClass* IfcWarpingStiffnessSelect; /// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: /// /// top-left @@ -1746,7 +1746,7 @@ typedef IfcRatioMeasure IfcNormalisedRatioMeasure; /// HISTORY New type in IFC Release 1.5.1. typedef IfcRatioMeasure IfcPositiveRatioMeasure; -typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > IfcPropertySetDefinitionSet; +typedef IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcPropertySetDefinitionSet; namespace IfcActionRequestTypeEnum { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -6866,34 +6866,32 @@ class IfcActorRole : public IfcUtil::IfcBaseEntity { 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(); + IfcRoleEnum::IfcRoleEnum Role() const; void setRole(IfcRoleEnum::IfcRoleEnum v); /// Whether the optional attribute UserDefinedRole is defined for this IfcActorRole - bool hasUserDefinedRole(); + bool hasUserDefinedRole() const; /// 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. - IfcLabel UserDefinedRole(); + IfcLabel UserDefinedRole() const; void setUserDefinedRole(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcActorRole - bool hasDescription(); + bool hasDescription() const; /// A textual description relating the nature of the role played by an actor. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Role"; case 1: return "UserDefinedRole"; case 2: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReference(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActorRole (IfcAbstractEntityPtr e); + IfcActorRole (IfcAbstractEntity* e); IfcActorRole (IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description); - typedef IfcActorRole* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > list; - typedef IfcTemplatedEntityList< IfcActorRole >::it it; + typedef IfcTemplatedEntityList< IfcActorRole > list; }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. /// @@ -6903,37 +6901,35 @@ public: class IfcAddress : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Purpose is defined for this IfcAddress - bool hasPurpose(); + bool hasPurpose() const; /// Identifies the logical location of the address. - IfcAddressTypeEnum::IfcAddressTypeEnum Purpose(); + IfcAddressTypeEnum::IfcAddressTypeEnum Purpose() const; void setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v); /// Whether the optional attribute Description is defined for this IfcAddress - bool hasDescription(); + bool hasDescription() const; /// Text that relates the nature of the address. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress - bool hasUserDefinedPurpose(); + bool hasUserDefinedPurpose() const; /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - IfcLabel UserDefinedPurpose(); + IfcLabel UserDefinedPurpose() const; void setUserDefinedPurpose(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Purpose"; case 1: return "Description"; case 2: return "UserDefinedPurpose"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > OfPerson(); // INVERSE IfcPerson::Addresses - SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > OfOrganization(); // INVERSE IfcOrganization::Addresses + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPerson >::ptr OfPerson() const; // INVERSE IfcPerson::Addresses + IfcTemplatedEntityList< IfcOrganization >::ptr OfOrganization() const; // INVERSE IfcOrganization::Addresses bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAddress (IfcAbstractEntityPtr e); + IfcAddress (IfcAbstractEntity* e); IfcAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose); - typedef IfcAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > list; - typedef IfcTemplatedEntityList< IfcAddress >::it it; + typedef IfcTemplatedEntityList< IfcAddress > list; }; /// IfcApplication holds the information about an IFC compliant application developed by an application developer. The IfcApplication utilizes a short identifying name as provided by the application developer. /// @@ -6941,29 +6937,27 @@ public: class IfcApplication : public IfcUtil::IfcBaseEntity { public: /// Name of the application developer, being requested to be member of the IAI. - IfcOrganization* ApplicationDeveloper(); + IfcOrganization* ApplicationDeveloper() const; void setApplicationDeveloper(IfcOrganization* v); /// The version number of this software as specified by the developer of the application. - IfcLabel Version(); + IfcLabel Version() const; void setVersion(IfcLabel v); /// The full name of the application as specified by the application developer. - IfcLabel ApplicationFullName(); + IfcLabel ApplicationFullName() const; void setApplicationFullName(IfcLabel v); /// Short identifying name for the application. - IfcIdentifier ApplicationIdentifier(); + IfcIdentifier ApplicationIdentifier() const; void setApplicationIdentifier(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ApplicationDeveloper"; case 1: return "Version"; case 2: return "ApplicationFullName"; case 3: return "ApplicationIdentifier"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApplication (IfcAbstractEntityPtr e); + IfcApplication (IfcAbstractEntity* e); IfcApplication (IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier); - typedef IfcApplication* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApplication > > list; - typedef IfcTemplatedEntityList< IfcApplication >::it it; + typedef IfcTemplatedEntityList< IfcApplication > list; }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. /// @@ -6982,72 +6976,70 @@ public: class IfcAppliedValue : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcAppliedValue - bool hasName(); + bool hasName() const; /// A name or additional clarification given to a cost value. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcAppliedValue - bool hasDescription(); + bool hasDescription() const; /// The description that may apply additional information about a cost value. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue - bool hasAppliedValue(); + bool hasAppliedValue() const; /// The extent or quantity or amount of an applied value. - IfcAppliedValueSelect AppliedValue(); + IfcAppliedValueSelect AppliedValue() const; void setAppliedValue(IfcAppliedValueSelect v); /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue - bool hasUnitBasis(); + bool hasUnitBasis() const; /// 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(); + IfcMeasureWithUnit* UnitBasis() const; void setUnitBasis(IfcMeasureWithUnit* v); /// Whether the optional attribute ApplicableDate is defined for this IfcAppliedValue - bool hasApplicableDate(); + bool hasApplicableDate() const; /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate ApplicableDate(); + IfcDate ApplicableDate() const; void setApplicableDate(IfcDate v); /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue - bool hasFixedUntilDate(); + bool hasFixedUntilDate() const; /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate FixedUntilDate(); + IfcDate FixedUntilDate() const; void setFixedUntilDate(IfcDate v); /// Whether the optional attribute Category is defined for this IfcAppliedValue - bool hasCategory(); - IfcLabel Category(); + bool hasCategory() const; + IfcLabel Category() const; void setCategory(IfcLabel v); /// Whether the optional attribute Condition is defined for this IfcAppliedValue - bool hasCondition(); - IfcLabel Condition(); + bool hasCondition() const; + IfcLabel Condition() const; void setCondition(IfcLabel v); /// Whether the optional attribute ArithmeticOperator is defined for this IfcAppliedValue - bool hasArithmeticOperator(); - IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator(); + bool hasArithmeticOperator() const; + IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator() const; void setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v); /// Whether the optional attribute Components is defined for this IfcAppliedValue - bool hasComponents(); - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > Components(); - void setComponents(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v); + bool hasComponents() const; + IfcTemplatedEntityList< IfcAppliedValue >::ptr Components() const; + void setComponents(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "AppliedValue"; case 3: return "UnitBasis"; case 4: return "ApplicableDate"; case 5: return "FixedUntilDate"; case 6: return "Category"; case 7: return "Condition"; case 8: return "ArithmeticOperator"; case 9: return "Components"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReference(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAppliedValue (IfcAbstractEntityPtr e); - IfcAppliedValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_Components); - typedef IfcAppliedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > list; - typedef IfcTemplatedEntityList< IfcAppliedValue >::it it; + IfcAppliedValue (IfcAbstractEntity* e); + IfcAppliedValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); + 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 /// @@ -7057,73 +7049,71 @@ public: class IfcApproval : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identifier is defined for this IfcApproval - bool hasIdentifier(); + bool hasIdentifier() const; /// A computer interpretable identifier by which the approval is known. - IfcIdentifier Identifier(); + IfcIdentifier Identifier() const; void setIdentifier(IfcIdentifier v); /// Whether the optional attribute Name is defined for this IfcApproval - bool hasName(); + bool hasName() const; /// A human readable name given to an approval. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcApproval - bool hasDescription(); + bool hasDescription() const; /// A general textual description of a design, work task, plan, etc. that is being approved for. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute TimeOfApproval is defined for this IfcApproval - bool hasTimeOfApproval(); + bool hasTimeOfApproval() const; /// Date and time when the result of the approval process is produced. /// /// IFC2x4 CHANGE  Attribute data type changed to IfcDateTime using ISO 8601 representation, renamed from ApprovalDateTime and made OPTIONAL. - IfcDateTime TimeOfApproval(); + IfcDateTime TimeOfApproval() const; void setTimeOfApproval(IfcDateTime v); /// Whether the optional attribute Status is defined for this IfcApproval - bool hasStatus(); + bool hasStatus() const; /// The result or current status of the approval, e.g. Requested, Processed, Approved, Not Approved. - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute Level is defined for this IfcApproval - bool hasLevel(); + bool hasLevel() const; /// Level of the approval e.g. Draft v.s. Completed design. - IfcLabel Level(); + IfcLabel Level() const; void setLevel(IfcLabel v); /// Whether the optional attribute Qualifier is defined for this IfcApproval - bool hasQualifier(); + bool hasQualifier() const; /// Textual description of special constraints or conditions for the approval. - IfcText Qualifier(); + IfcText Qualifier() const; void setQualifier(IfcText v); /// Whether the optional attribute RequestingApproval is defined for this IfcApproval - bool hasRequestingApproval(); + bool hasRequestingApproval() const; /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and requesting an approval. /// /// IFC2x4 CHANGE  New attribute for approval request replacing IfcApprovalActorRelationship (being deleted). - IfcActorSelect RequestingApproval(); + IfcActorSelect RequestingApproval() const; void setRequestingApproval(IfcActorSelect v); /// Whether the optional attribute GivingApproval is defined for this IfcApproval - bool hasGivingApproval(); + bool hasGivingApproval() const; /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and giving an approval. /// /// IFC2x4 CHANGE  New attribute for approval provision replacing IfcApprovalActorRelationship (being deleted). - IfcActorSelect GivingApproval(); + IfcActorSelect GivingApproval() const; void setGivingApproval(IfcActorSelect v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Identifier"; case 1: return "Name"; case 2: return "Description"; case 3: return "TimeOfApproval"; case 4: return "Status"; case 5: return "Level"; case 6: return "Qualifier"; case 7: return "RequestingApproval"; case 8: return "GivingApproval"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReferences(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesApproval > > ApprovedObjects(); // INVERSE IfcRelAssociatesApproval::RelatingApproval - SHARED_PTR< IfcTemplatedEntityList< IfcResourceApprovalRelationship > > ApprovedResources(); // INVERSE IfcResourceApprovalRelationship::RelatingApproval - SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > IsRelatedWith(); // INVERSE IfcApprovalRelationship::RelatedApprovals - SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > Relates(); // INVERSE IfcApprovalRelationship::RelatingApproval + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcRelAssociatesApproval >::ptr ApprovedObjects() const; // INVERSE IfcRelAssociatesApproval::RelatingApproval + IfcTemplatedEntityList< IfcResourceApprovalRelationship >::ptr ApprovedResources() const; // INVERSE IfcResourceApprovalRelationship::RelatingApproval + IfcTemplatedEntityList< IfcApprovalRelationship >::ptr IsRelatedWith() const; // INVERSE IfcApprovalRelationship::RelatedApprovals + IfcTemplatedEntityList< IfcApprovalRelationship >::ptr Relates() const; // INVERSE IfcApprovalRelationship::RelatingApproval bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApproval (IfcAbstractEntityPtr e); + IfcApproval (IfcAbstractEntity* e); IfcApproval (boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcDateTime > v4_TimeOfApproval, boost::optional< IfcLabel > v5_Status, boost::optional< IfcLabel > v6_Level, boost::optional< IfcText > v7_Qualifier, boost::optional< IfcActorSelect > v8_RequestingApproval, boost::optional< IfcActorSelect > v9_GivingApproval); - typedef IfcApproval* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > list; - typedef IfcTemplatedEntityList< IfcApproval >::it it; + typedef IfcTemplatedEntityList< IfcApproval > list; }; /// Definition /// from IAI: The abstract entity IfcBoundaryCondition @@ -7143,22 +7133,20 @@ public: class IfcBoundaryCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcBoundaryCondition - bool hasName(); + bool hasName() const; /// Optionally defines a name for this boundary condition. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryCondition (IfcAbstractEntityPtr e); + IfcBoundaryCondition (IfcAbstractEntity* e); IfcBoundaryCondition (boost::optional< IfcLabel > v1_Name); - typedef IfcBoundaryCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -7173,47 +7161,45 @@ public: class IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute TranslationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthX(); + bool hasTranslationalStiffnessByLengthX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX(); + IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; void setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect v); /// Whether the optional attribute TranslationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthY(); + bool hasTranslationalStiffnessByLengthY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthY(); + IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthY() const; void setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect v); /// Whether the optional attribute TranslationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasTranslationalStiffnessByLengthZ(); + bool hasTranslationalStiffnessByLengthZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthZ(); + IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthZ() const; void setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect v); /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthX(); + bool hasRotationalStiffnessByLengthX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthX(); + IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthX() const; void setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect v); /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthY(); + bool hasRotationalStiffnessByLengthY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthY(); + IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthY() const; void setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect v); /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition - bool hasRotationalStiffnessByLengthZ(); + bool hasRotationalStiffnessByLengthZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthZ(); + IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthZ() const; void setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TranslationalStiffnessByLengthX"; case 2: return "TranslationalStiffnessByLengthY"; case 3: return "TranslationalStiffnessByLengthZ"; case 4: return "RotationalStiffnessByLengthX"; case 5: return "RotationalStiffnessByLengthY"; case 6: return "RotationalStiffnessByLengthZ"; } return IfcBoundaryCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryEdgeCondition (IfcAbstractEntityPtr e); + IfcBoundaryEdgeCondition (IfcAbstractEntity* e); IfcBoundaryEdgeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v7_RotationalStiffnessByLengthZ); - typedef IfcBoundaryEdgeCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryEdgeCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -7228,32 +7214,30 @@ public: class IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute TranslationalStiffnessByAreaX is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaX(); + bool hasTranslationalStiffnessByAreaX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX(); + IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; void setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect v); /// Whether the optional attribute TranslationalStiffnessByAreaY is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaY(); + bool hasTranslationalStiffnessByAreaY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaY(); + IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaY() const; void setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect v); /// Whether the optional attribute TranslationalStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition - bool hasTranslationalStiffnessByAreaZ(); + bool hasTranslationalStiffnessByAreaZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaZ(); + IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaZ() const; void setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TranslationalStiffnessByAreaX"; case 2: return "TranslationalStiffnessByAreaY"; case 3: return "TranslationalStiffnessByAreaZ"; } return IfcBoundaryCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryFaceCondition (IfcAbstractEntityPtr e); + IfcBoundaryFaceCondition (IfcAbstractEntity* e); IfcBoundaryFaceCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect > v4_TranslationalStiffnessByAreaZ); - typedef IfcBoundaryFaceCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryFaceCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. /// @@ -7268,47 +7252,45 @@ public: class IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute TranslationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessX(); + bool hasTranslationalStiffnessX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect TranslationalStiffnessX(); + IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; void setTranslationalStiffnessX(IfcTranslationalStiffnessSelect v); /// Whether the optional attribute TranslationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessY(); + bool hasTranslationalStiffnessY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect TranslationalStiffnessY(); + IfcTranslationalStiffnessSelect TranslationalStiffnessY() const; void setTranslationalStiffnessY(IfcTranslationalStiffnessSelect v); /// Whether the optional attribute TranslationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasTranslationalStiffnessZ(); + bool hasTranslationalStiffnessZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect TranslationalStiffnessZ(); + IfcTranslationalStiffnessSelect TranslationalStiffnessZ() const; void setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect v); /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessX(); + bool hasRotationalStiffnessX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect RotationalStiffnessX(); + IfcRotationalStiffnessSelect RotationalStiffnessX() const; void setRotationalStiffnessX(IfcRotationalStiffnessSelect v); /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessY(); + bool hasRotationalStiffnessY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect RotationalStiffnessY(); + IfcRotationalStiffnessSelect RotationalStiffnessY() const; void setRotationalStiffnessY(IfcRotationalStiffnessSelect v); /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition - bool hasRotationalStiffnessZ(); + bool hasRotationalStiffnessZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect RotationalStiffnessZ(); + IfcRotationalStiffnessSelect RotationalStiffnessZ() const; void setRotationalStiffnessZ(IfcRotationalStiffnessSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TranslationalStiffnessX"; case 2: return "TranslationalStiffnessY"; case 3: return "TranslationalStiffnessZ"; case 4: return "RotationalStiffnessX"; case 5: return "RotationalStiffnessY"; case 6: return "RotationalStiffnessZ"; } return IfcBoundaryCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryNodeCondition (IfcAbstractEntityPtr e); + IfcBoundaryNodeCondition (IfcAbstractEntity* e); IfcBoundaryNodeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ); - typedef IfcBoundaryNodeCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryNodeCondition > > list; - typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition >::it it; + typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. /// @@ -7322,22 +7304,20 @@ public: class IfcBoundaryNodeConditionWarping : public IfcBoundaryNodeCondition { public: /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping - bool hasWarpingStiffness(); + bool hasWarpingStiffness() const; /// Defines the warping stiffness value. - IfcWarpingStiffnessSelect WarpingStiffness(); + IfcWarpingStiffnessSelect WarpingStiffness() const; void setWarpingStiffness(IfcWarpingStiffnessSelect v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; } return IfcBoundaryNodeCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingStiffness"; } return IfcBoundaryNodeCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryNodeConditionWarping (IfcAbstractEntityPtr e); + IfcBoundaryNodeConditionWarping (IfcAbstractEntity* e); IfcBoundaryNodeConditionWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect > v8_WarpingStiffness); - typedef IfcBoundaryNodeConditionWarping* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > > list; - typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping >::it it; + 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. /// @@ -7358,15 +7338,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionGeometry (IfcAbstractEntityPtr e); + IfcConnectionGeometry (IfcAbstractEntity* e); IfcConnectionGeometry (); - typedef IfcConnectionGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionGeometry >::it it; + typedef IfcTemplatedEntityList< IfcConnectionGeometry > list; }; /// IfcConnectionPointGeometry /// is used to describe the geometric constraints that facilitate the @@ -7387,25 +7365,23 @@ public: class IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. - IfcPointOrVertexPoint PointOnRelatingElement(); + IfcPointOrVertexPoint PointOnRelatingElement() const; void setPointOnRelatingElement(IfcPointOrVertexPoint v); /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry - bool hasPointOnRelatedElement(); + bool hasPointOnRelatedElement() const; /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcPointOrVertexPoint PointOnRelatedElement(); + IfcPointOrVertexPoint PointOnRelatedElement() const; void setPointOnRelatedElement(IfcPointOrVertexPoint v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PointOnRelatingElement"; case 1: return "PointOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionPointGeometry (IfcAbstractEntityPtr e); + IfcConnectionPointGeometry (IfcAbstractEntity* e); IfcConnectionPointGeometry (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement); - typedef IfcConnectionPointGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPointGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionPointGeometry >::it it; + 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. /// @@ -7418,25 +7394,23 @@ public: class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. - IfcSurfaceOrFaceSurface SurfaceOnRelatingElement(); + IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v); /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry - bool hasSurfaceOnRelatedElement(); + bool hasSurfaceOnRelatedElement() const; /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcSurfaceOrFaceSurface SurfaceOnRelatedElement(); + IfcSurfaceOrFaceSurface SurfaceOnRelatedElement() const; void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SurfaceOnRelatingElement"; case 1: return "SurfaceOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionSurfaceGeometry (IfcAbstractEntityPtr e); + IfcConnectionSurfaceGeometry (IfcAbstractEntity* e); IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement); - typedef IfcConnectionSurfaceGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry >::it it; + 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. /// @@ -7447,25 +7421,23 @@ public: class IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. - IfcSolidOrShell VolumeOnRelatingElement(); + IfcSolidOrShell VolumeOnRelatingElement() const; void setVolumeOnRelatingElement(IfcSolidOrShell v); /// Whether the optional attribute VolumeOnRelatedElement is defined for this IfcConnectionVolumeGeometry - bool hasVolumeOnRelatedElement(); + bool hasVolumeOnRelatedElement() const; /// Volume at which related object overlaps with the relating element, given in the LCS of the related element. - IfcSolidOrShell VolumeOnRelatedElement(); + IfcSolidOrShell VolumeOnRelatedElement() const; void setVolumeOnRelatedElement(IfcSolidOrShell v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VolumeOnRelatingElement"; case 1: return "VolumeOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionVolumeGeometry (IfcAbstractEntityPtr e); + IfcConnectionVolumeGeometry (IfcAbstractEntity* e); IfcConnectionVolumeGeometry (IfcSolidOrShell v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell > v2_VolumeOnRelatedElement); - typedef IfcConnectionVolumeGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionVolumeGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionVolumeGeometry >::it it; + 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. /// @@ -7482,53 +7454,51 @@ public: class IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcConstraint - bool hasDescription(); + bool hasDescription() const; /// A description that may apply additional information about a constraint. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Enumeration that qualifies the type of constraint. - IfcConstraintEnum::IfcConstraintEnum ConstraintGrade(); + IfcConstraintEnum::IfcConstraintEnum ConstraintGrade() const; void setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint - bool hasConstraintSource(); + bool hasConstraintSource() const; /// Any source material, such as a code or standard, from which the constraint originated. - IfcLabel ConstraintSource(); + IfcLabel ConstraintSource() const; void setConstraintSource(IfcLabel v); /// Whether the optional attribute CreatingActor is defined for this IfcConstraint - bool hasCreatingActor(); + bool hasCreatingActor() const; /// Person and/or organization that has created the constraint. - IfcActorSelect CreatingActor(); + IfcActorSelect CreatingActor() const; void setCreatingActor(IfcActorSelect v); /// Whether the optional attribute CreationTime is defined for this IfcConstraint - bool hasCreationTime(); + bool hasCreationTime() const; /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - IfcDateTime CreationTime(); + IfcDateTime CreationTime() const; void setCreationTime(IfcDateTime v); /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint - bool hasUserDefinedGrade(); + bool hasUserDefinedGrade() const; /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - IfcLabel UserDefinedGrade(); + IfcLabel UserDefinedGrade() const; void setUserDefinedGrade(IfcLabel v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "ConstraintGrade"; case 3: return "ConstraintSource"; case 4: return "CreatingActor"; case 5: return "CreationTime"; case 6: return "UserDefinedGrade"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReferences(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - SHARED_PTR< IfcTemplatedEntityList< IfcResourceConstraintRelationship > > PropertiesForConstraint(); // INVERSE IfcResourceConstraintRelationship::RelatingConstraint + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcResourceConstraintRelationship >::ptr PropertiesForConstraint() const; // INVERSE IfcResourceConstraintRelationship::RelatingConstraint bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstraint (IfcAbstractEntityPtr e); + IfcConstraint (IfcAbstractEntity* e); IfcConstraint (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade); - typedef IfcConstraint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > list; - typedef IfcTemplatedEntityList< IfcConstraint >::it it; + typedef IfcTemplatedEntityList< IfcConstraint > list; }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: If the relationship between any two coordinate @@ -7579,23 +7549,21 @@ public: class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. - IfcCoordinateReferenceSystemSelect SourceCRS(); + IfcCoordinateReferenceSystemSelect SourceCRS() const; void setSourceCRS(IfcCoordinateReferenceSystemSelect v); /// Target coordinate reference system for the operation. - IfcCoordinateReferenceSystem* TargetCRS(); + IfcCoordinateReferenceSystem* TargetCRS() const; void setTargetCRS(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SourceCRS"; case 1: return "TargetCRS"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoordinateOperation (IfcAbstractEntityPtr e); + IfcCoordinateOperation (IfcAbstractEntity* e); IfcCoordinateOperation (IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS); - typedef IfcCoordinateOperation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoordinateOperation > > list; - typedef IfcTemplatedEntityList< IfcCoordinateOperation >::it it; + typedef IfcTemplatedEntityList< IfcCoordinateOperation > list; }; /// Definition from OpenGIS® Abstract Specification, Topic /// 2: A coordinate reference system is a coordinate system which @@ -7622,43 +7590,41 @@ public: class IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcCoordinateReferenceSystem - bool hasName(); + bool hasName() const; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcCoordinateReferenceSystem - bool hasDescription(); + bool hasDescription() const; /// Informal description of this coordinate reference system. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Name by which this datum is identified. The geodetic datum is associated with the coordinate reference system and indicates the shape and size of the rotation ellipsoid and this ellipsoid's connection and orientation to the actual globe/earth. Examples for geodetic datums include: /// /// ED50 /// EUREF89 /// WSG84 - IfcIdentifier GeodeticDatum(); + IfcIdentifier GeodeticDatum() const; void setGeodeticDatum(IfcIdentifier v); /// Whether the optional attribute VerticalDatum is defined for this IfcCoordinateReferenceSystem - bool hasVerticalDatum(); + bool hasVerticalDatum() const; /// Name by which the vertical datum is identified. The vertical datum is associated with the height axis of the coordinate reference system and indicates the reference plane and fundamental point defining the origin of a height system. Examples for vertical datums include: /// /// height above mean sea level at Dover in 1952 /// other sea levels - IfcIdentifier VerticalDatum(); + IfcIdentifier VerticalDatum() const; void setVerticalDatum(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "GeodeticDatum"; case 3: return "VerticalDatum"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoordinateReferenceSystem (IfcAbstractEntityPtr e); + IfcCoordinateReferenceSystem (IfcAbstractEntity* e); IfcCoordinateReferenceSystem (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum); - typedef IfcCoordinateReferenceSystem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoordinateReferenceSystem > > list; - typedef IfcTemplatedEntityList< IfcCoordinateReferenceSystem >::it it; + typedef IfcTemplatedEntityList< IfcCoordinateReferenceSystem > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. /// @@ -7707,15 +7673,13 @@ public: virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcAppliedValue::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcAppliedValue::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCostValue (IfcAbstractEntityPtr e); - IfcCostValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_Components); - typedef IfcCostValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > list; - typedef IfcTemplatedEntityList< IfcCostValue >::it it; + IfcCostValue (IfcAbstractEntity* e); + IfcCostValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); + typedef IfcTemplatedEntityList< IfcCostValue > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. /// @@ -7727,27 +7691,25 @@ public: class IfcDerivedUnit : public IfcUtil::IfcBaseEntity { public: /// The group of units and their exponents that define the derived unit. - SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > Elements(); - void setElements(SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v); + IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr Elements() const; + void setElements(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(); + IfcDerivedUnitEnum::IfcDerivedUnitEnum UnitType() const; void setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit - bool hasUserDefinedType(); - IfcLabel UserDefinedType(); + bool hasUserDefinedType() const; + IfcLabel UserDefinedType() const; void setUserDefinedType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; case 1: return "UnitType"; case 2: return "UserDefinedType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDerivedUnit (IfcAbstractEntityPtr e); - IfcDerivedUnit (SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType); - typedef IfcDerivedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnit > > list; - typedef IfcTemplatedEntityList< IfcDerivedUnit >::it it; + IfcDerivedUnit (IfcAbstractEntity* e); + IfcDerivedUnit (IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType); + typedef IfcTemplatedEntityList< IfcDerivedUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities /// which makes up a derived unit. @@ -7761,23 +7723,21 @@ public: class IfcDerivedUnitElement : public IfcUtil::IfcBaseEntity { public: /// The fixed quantity which is used as the mathematical factor. - IfcNamedUnit* Unit(); + IfcNamedUnit* Unit() const; void setUnit(IfcNamedUnit* v); /// The power that is applied to the unit attribute. - int Exponent(); + int Exponent() const; void setExponent(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Unit"; case 1: return "Exponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDerivedUnitElement (IfcAbstractEntityPtr e); + IfcDerivedUnitElement (IfcAbstractEntity* e); IfcDerivedUnitElement (IfcNamedUnit* v1_Unit, int v2_Exponent); - typedef IfcDerivedUnitElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedUnitElement > > list; - typedef IfcTemplatedEntityList< IfcDerivedUnitElement >::it it; + typedef IfcTemplatedEntityList< IfcDerivedUnitElement > list; }; /// Definition from ISO/CD 10303-41:1992: The dimensionality of any quantity can be expressed as a product of powers of the dimensions of base quantities. /// The dimensional exponents entity defines the powers of the dimensions of the base quantities. All the physical @@ -7799,38 +7759,36 @@ public: class IfcDimensionalExponents : public IfcUtil::IfcBaseEntity { public: /// The power of the length base quantity. - int LengthExponent(); + int LengthExponent() const; void setLengthExponent(int v); /// The power of the mass base quantity. - int MassExponent(); + int MassExponent() const; void setMassExponent(int v); /// The power of the time base quantity. - int TimeExponent(); + int TimeExponent() const; void setTimeExponent(int v); /// The power of the electric current base quantity. - int ElectricCurrentExponent(); + int ElectricCurrentExponent() const; void setElectricCurrentExponent(int v); /// The power of the thermodynamic temperature base quantity. - int ThermodynamicTemperatureExponent(); + int ThermodynamicTemperatureExponent() const; void setThermodynamicTemperatureExponent(int v); /// The power of the amount of substance base quantity. - int AmountOfSubstanceExponent(); + int AmountOfSubstanceExponent() const; void setAmountOfSubstanceExponent(int v); /// The power of the luminous intensity base quantity. - int LuminousIntensityExponent(); + int LuminousIntensityExponent() const; void setLuminousIntensityExponent(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LengthExponent"; case 1: return "MassExponent"; case 2: return "TimeExponent"; case 3: return "ElectricCurrentExponent"; case 4: return "ThermodynamicTemperatureExponent"; case 5: return "AmountOfSubstanceExponent"; case 6: return "LuminousIntensityExponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDimensionalExponents (IfcAbstractEntityPtr e); + IfcDimensionalExponents (IfcAbstractEntity* e); IfcDimensionalExponents (int v1_LengthExponent, int v2_MassExponent, int v3_TimeExponent, int v4_ElectricCurrentExponent, int v5_ThermodynamicTemperatureExponent, int v6_AmountOfSubstanceExponent, int v7_LuminousIntensityExponent); - typedef IfcDimensionalExponents* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDimensionalExponents > > list; - typedef IfcTemplatedEntityList< IfcDimensionalExponents >::it it; + typedef IfcTemplatedEntityList< IfcDimensionalExponents > list; }; /// An IfcExternalInformation is the identification of an information source that is not explicitly represented in the current model or in the project database (as an implementation of the current model). The IfcExternalInformation identifies the external source (classification, document, or library), but not the particular items such as a dictionary entry, a classification notation, or a document reference within the external source /// @@ -7843,15 +7801,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternalInformation (IfcAbstractEntityPtr e); + IfcExternalInformation (IfcAbstractEntity* e); IfcExternalInformation (); - typedef IfcExternalInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalInformation > > list; - typedef IfcTemplatedEntityList< IfcExternalInformation >::it it; + typedef IfcTemplatedEntityList< IfcExternalInformation > 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 /// dictionary entry, a classification notation, or a document reference within the external source. @@ -7865,14 +7821,14 @@ public: class IfcExternalReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Location is defined for this IfcExternalReference - bool hasLocation(); + 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. - IfcURIReference Location(); + IfcURIReference Location() const; void setLocation(IfcURIReference v); /// Whether the optional attribute Identification is defined for this IfcExternalReference - bool hasIdentification(); + bool hasIdentification() const; /// The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as /// /// a key, e.g. a classification notation, like NF2.3 @@ -7882,26 +7838,24 @@ public: /// It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement). /// /// IFC2x4 CHANGE Attribute renamed from ItemReference for consistency. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute Name is defined for this IfcExternalReference - bool hasName(); + bool hasName() const; /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Location"; case 1: return "Identification"; case 2: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > ExternalReferenceForResources(); // INVERSE IfcExternalReferenceRelationship::RelatingReference + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr ExternalReferenceForResources() const; // INVERSE IfcExternalReferenceRelationship::RelatingReference bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternalReference (IfcAbstractEntityPtr e); + IfcExternalReference (IfcAbstractEntity* e); IfcExternalReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); - typedef IfcExternalReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalReference > > list; - typedef IfcTemplatedEntityList< IfcExternalReference >::it it; + typedef IfcTemplatedEntityList< IfcExternalReference > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. /// @@ -7916,15 +7870,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedHatchStyle (IfcAbstractEntityPtr e); + IfcExternallyDefinedHatchStyle (IfcAbstractEntity* e); IfcExternallyDefinedHatchStyle (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedHatchStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > list; }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. /// @@ -7938,15 +7890,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedSurfaceStyle (IfcAbstractEntityPtr e); + IfcExternallyDefinedSurfaceStyle (IfcAbstractEntity* e); IfcExternallyDefinedSurfaceStyle (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedSurfaceStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font /// @@ -7960,15 +7910,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternallyDefinedTextFont (IfcAbstractEntityPtr e); + IfcExternallyDefinedTextFont (IfcAbstractEntity* e); IfcExternallyDefinedTextFont (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); - typedef IfcExternallyDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternallyDefinedTextFont > > list; - typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont >::it it; + typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont > list; }; /// An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcDesignGrid. /// @@ -7996,32 +7944,30 @@ public: class IfcGridAxis : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis - bool hasAxisTag(); + bool hasAxisTag() const; /// The tag or name for this grid axis. - IfcLabel AxisTag(); + IfcLabel AxisTag() const; void setAxisTag(IfcLabel v); /// Underlying curve which provides the geometry for this grid axis. - IfcCurve* AxisCurve(); + IfcCurve* AxisCurve() const; void setAxisCurve(IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. - IfcBoolean SameSense(); + IfcBoolean SameSense() const; void setSameSense(IfcBoolean v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "AxisTag"; case 1: return "AxisCurve"; case 2: return "SameSense"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfW(); // INVERSE IfcGrid::WAxes - SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfV(); // INVERSE IfcGrid::VAxes - SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > PartOfU(); // INVERSE IfcGrid::UAxes - SHARED_PTR< IfcTemplatedEntityList< IfcVirtualGridIntersection > > HasIntersections(); // INVERSE IfcVirtualGridIntersection::IntersectingAxes + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcGrid >::ptr PartOfW() const; // INVERSE IfcGrid::WAxes + IfcTemplatedEntityList< IfcGrid >::ptr PartOfV() const; // INVERSE IfcGrid::VAxes + IfcTemplatedEntityList< IfcGrid >::ptr PartOfU() const; // INVERSE IfcGrid::UAxes + IfcTemplatedEntityList< IfcVirtualGridIntersection >::ptr HasIntersections() const; // INVERSE IfcVirtualGridIntersection::IntersectingAxes bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGridAxis (IfcAbstractEntityPtr e); + IfcGridAxis (IfcAbstractEntity* e); IfcGridAxis (boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense); - typedef IfcGridAxis* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > list; - typedef IfcTemplatedEntityList< IfcGridAxis >::it it; + typedef IfcTemplatedEntityList< IfcGridAxis > list; }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. /// @@ -8029,23 +7975,21 @@ public: class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. - IfcDateTime TimeStamp(); + IfcDateTime TimeStamp() const; void setTimeStamp(IfcDateTime v); /// A list of time-series values. At least one value is required. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ListValues(); - void setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; + void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TimeStamp"; case 1: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIrregularTimeSeriesValue (IfcAbstractEntityPtr e); - IfcIrregularTimeSeriesValue (IfcDateTime v1_TimeStamp, IfcEntities v2_ListValues); - typedef IfcIrregularTimeSeriesValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > list; - typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::it it; + IfcIrregularTimeSeriesValue (IfcAbstractEntity* e); + IfcIrregularTimeSeriesValue (IfcDateTime v1_TimeStamp, IfcEntityList::ptr v2_ListValues); + typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > list; }; /// An IfcLibraryInformation describes a library where a library is a structured store of information, normally organized in a manner which allows information lookup through an index or reference value. IfcLibraryInformation provides the library Name and optional Version, VersionDate and Publisher attributes. A Location may be added for electronic access to the library. /// @@ -8058,50 +8002,48 @@ public: class IfcLibraryInformation : public IfcExternalInformation { public: /// The name which is used to identify the library. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Version is defined for this IfcLibraryInformation - bool hasVersion(); + bool hasVersion() const; /// Identifier for the library version used for reference. - IfcLabel Version(); + IfcLabel Version() const; void setVersion(IfcLabel v); /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation - bool hasPublisher(); + bool hasPublisher() const; /// Information of the organization that acts as the library publisher. - IfcActorSelect Publisher(); + IfcActorSelect Publisher() const; void setPublisher(IfcActorSelect v); /// Whether the optional attribute VersionDate is defined for this IfcLibraryInformation - bool hasVersionDate(); + bool hasVersionDate() const; /// Date of the referenced version of the library. /// /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDateTime VersionDate(); + IfcDateTime VersionDate() const; void setVersionDate(IfcDateTime v); /// Whether the optional attribute Location is defined for this IfcLibraryInformation - bool hasLocation(); + bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the library information for online references. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcURIReference Location(); + IfcURIReference Location() const; void setLocation(IfcURIReference v); /// Whether the optional attribute Description is defined for this IfcLibraryInformation - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcExternalInformation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Version"; case 2: return "Publisher"; case 3: return "VersionDate"; case 4: return "Location"; case 5: return "Description"; } return IfcExternalInformation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesLibrary > > LibraryInfoForObjects(); // INVERSE IfcRelAssociatesLibrary::RelatingLibrary - SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > HasLibraryReferences(); // INVERSE IfcLibraryReference::ReferencedLibrary + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesLibrary >::ptr LibraryInfoForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary + IfcTemplatedEntityList< IfcLibraryReference >::ptr HasLibraryReferences() const; // INVERSE IfcLibraryReference::ReferencedLibrary bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLibraryInformation (IfcAbstractEntityPtr e); + IfcLibraryInformation (IfcAbstractEntity* e); IfcLibraryInformation (IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, boost::optional< IfcActorSelect > v3_Publisher, boost::optional< IfcDateTime > v4_VersionDate, boost::optional< IfcURIReference > v5_Location, boost::optional< IfcText > v6_Description); - typedef IfcLibraryInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLibraryInformation > > list; - typedef IfcTemplatedEntityList< IfcLibraryInformation >::it it; + 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. /// @@ -8113,37 +8055,35 @@ public: class IfcLibraryReference : public IfcExternalReference { public: /// Whether the optional attribute Description is defined for this IfcLibraryReference - bool hasDescription(); + bool hasDescription() const; /// Additional description provided for the library reference. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Language is defined for this IfcLibraryReference - bool hasLanguage(); + bool hasLanguage() const; /// The language in which a library reference is expressed. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcLanguageId Language(); + IfcLanguageId Language() const; void setLanguage(IfcLanguageId v); /// Whether the optional attribute ReferencedLibrary is defined for this IfcLibraryReference - bool hasReferencedLibrary(); + bool hasReferencedLibrary() const; /// The library information that is being referenced. - IfcLibraryInformation* ReferencedLibrary(); + IfcLibraryInformation* ReferencedLibrary() const; void setReferencedLibrary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Description"; case 4: return "Language"; case 5: return "ReferencedLibrary"; } return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesLibrary > > LibraryRefForObjects(); // INVERSE IfcRelAssociatesLibrary::RelatingLibrary + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesLibrary >::ptr LibraryRefForObjects() const; // INVERSE IfcRelAssociatesLibrary::RelatingLibrary bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLibraryReference (IfcAbstractEntityPtr e); + IfcLibraryReference (IfcAbstractEntity* e); IfcLibraryReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLanguageId > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary); - typedef IfcLibraryReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLibraryReference > > list; - typedef IfcTemplatedEntityList< IfcLibraryReference >::it it; + 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 /// @@ -8163,28 +8103,26 @@ public: class IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). - IfcPlaneAngleMeasure MainPlaneAngle(); + IfcPlaneAngleMeasure MainPlaneAngle() const; void setMainPlaneAngle(IfcPlaneAngleMeasure v); /// The list of secondary plane angles (the α, β or γ angles) according to the light distribution curve chosen. /// /// NOTE: The SecondaryPlaneAngle and LuminousIntensity lists are corresponding lists. - std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle(); + std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle() const; void setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. - std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity(); + std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity() const; void setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MainPlaneAngle"; case 1: return "SecondaryPlaneAngle"; case 2: return "LuminousIntensity"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightDistributionData (IfcAbstractEntityPtr e); + IfcLightDistributionData (IfcAbstractEntity* e); IfcLightDistributionData (IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity); - typedef IfcLightDistributionData* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > list; - typedef IfcTemplatedEntityList< IfcLightDistributionData >::it it; + typedef IfcTemplatedEntityList< IfcLightDistributionData > list; }; /// IfcLightIntensityDistribution defines the the luminous intensity of a light source that changes according to the direction of the ray. It is based on some standardized light distribution curves, which are defined by the LightDistributionCurve attribute. /// @@ -8192,23 +8130,21 @@ public: 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(); + IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum LightDistributionCurve() const; void setLightDistributionCurve(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. - SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > DistributionData(); - void setDistributionData(SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > v); + IfcTemplatedEntityList< IfcLightDistributionData >::ptr DistributionData() const; + void setDistributionData(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LightDistributionCurve"; case 1: return "DistributionData"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightIntensityDistribution (IfcAbstractEntityPtr e); - IfcLightIntensityDistribution (IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, SHARED_PTR< IfcTemplatedEntityList< IfcLightDistributionData > > v2_DistributionData); - typedef IfcLightIntensityDistribution* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightIntensityDistribution > > list; - typedef IfcTemplatedEntityList< IfcLightIntensityDistribution >::it it; + IfcLightIntensityDistribution (IfcAbstractEntity* e); + IfcLightIntensityDistribution (IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum v1_LightDistributionCurve, IfcTemplatedEntityList< IfcLightDistributionData >::ptr v2_DistributionData); + typedef IfcTemplatedEntityList< IfcLightIntensityDistribution > list; }; /// The map conversion deals with transforming the local engineering coordinate system, often called world coordinate system, into the coordinate reference system of the underlying map. /// @@ -8225,47 +8161,45 @@ class IfcMapConversion : public IfcCoordinateOperation { public: /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis - IfcLengthMeasure Eastings(); + IfcLengthMeasure Eastings() const; void setEastings(IfcLengthMeasure v); /// Specifies the location along the northing of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis - IfcLengthMeasure Northings(); + IfcLengthMeasure Northings() const; void setNorthings(IfcLengthMeasure v); /// Orthogonal height relativ to the vertical datum specified. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the z axis - IfcLengthMeasure OrthogonalHeight(); + IfcLengthMeasure OrthogonalHeight() const; void setOrthogonalHeight(IfcLengthMeasure v); /// Whether the optional attribute XAxisAbscissa is defined for this IfcMapConversion - bool hasXAxisAbscissa(); + bool hasXAxisAbscissa() const; /// Specifies the value along the easing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis /// NOTE  together with the XAxisOrdinate it provides the direction of the local x axis within the horizontal plane of the map coordinate system - IfcReal XAxisAbscissa(); + IfcReal XAxisAbscissa() const; void setXAxisAbscissa(IfcReal v); /// Whether the optional attribute XAxisOrdinate is defined for this IfcMapConversion - bool hasXAxisOrdinate(); + bool hasXAxisOrdinate() const; /// Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis /// NOTE  together with the XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system - IfcReal XAxisOrdinate(); + IfcReal XAxisOrdinate() const; void setXAxisOrdinate(IfcReal v); /// Whether the optional attribute Scale is defined for this IfcMapConversion - bool hasScale(); + bool hasScale() const; /// Scale to be used, when the units of the CRS are not identical to the units of the engineering coordinate system. If omited, the value of 1.0 is assumed. - IfcReal Scale(); + IfcReal Scale() const; void setScale(IfcReal v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcCoordinateOperation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Eastings"; case 3: return "Northings"; case 4: return "OrthogonalHeight"; case 5: return "XAxisAbscissa"; case 6: return "XAxisOrdinate"; case 7: return "Scale"; } return IfcCoordinateOperation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMapConversion (IfcAbstractEntityPtr e); + IfcMapConversion (IfcAbstractEntity* e); IfcMapConversion (IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, IfcLengthMeasure v3_Eastings, IfcLengthMeasure v4_Northings, IfcLengthMeasure v5_OrthogonalHeight, boost::optional< IfcReal > v6_XAxisAbscissa, boost::optional< IfcReal > v7_XAxisOrdinate, boost::optional< IfcReal > v8_Scale); - typedef IfcMapConversion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMapConversion > > list; - typedef IfcTemplatedEntityList< IfcMapConversion >::it it; + typedef IfcTemplatedEntityList< IfcMapConversion > list; }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. /// @@ -8275,23 +8209,21 @@ public: class IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > MaterialClassifications(); - void setMaterialClassifications(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr MaterialClassifications() const; + void setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Material being classified. - IfcMaterial* ClassifiedMaterial(); + IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MaterialClassifications"; case 1: return "ClassifiedMaterial"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialClassificationRelationship (IfcAbstractEntityPtr e); - IfcMaterialClassificationRelationship (IfcEntities v1_MaterialClassifications, IfcMaterial* v2_ClassifiedMaterial); - typedef IfcMaterialClassificationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialClassificationRelationship > > list; - typedef IfcTemplatedEntityList< IfcMaterialClassificationRelationship >::it it; + IfcMaterialClassificationRelationship (IfcAbstractEntity* e); + IfcMaterialClassificationRelationship (IfcEntityList::ptr v1_MaterialClassifications, IfcMaterial* v2_ClassifiedMaterial); + typedef IfcTemplatedEntityList< IfcMaterialClassificationRelationship > list; }; /// IfcMaterialDefinition is a general supertype for all /// material related information items in IFC that have common @@ -8322,18 +8254,16 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesMaterial > > AssociatedTo(); // INVERSE IfcRelAssociatesMaterial::RelatingMaterial - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReferences(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProperties > > HasProperties(); // INVERSE IfcMaterialProperties::Material + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcMaterialProperties >::ptr HasProperties() const; // INVERSE IfcMaterialProperties::Material bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialDefinition (IfcAbstractEntityPtr e); + IfcMaterialDefinition (IfcAbstractEntity* e); IfcMaterialDefinition (); - typedef IfcMaterialDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinition > > list; - typedef IfcTemplatedEntityList< IfcMaterialDefinition >::it it; + typedef IfcTemplatedEntityList< IfcMaterialDefinition > list; }; /// IfcMaterialLayer is a single and identifiable part of an element which is constructed of a number of layers (one or more). Each IfcMaterialLayer has a constant thickness and is located relative to the referencing IfcMaterialLayerSet along the MlsBase. /// @@ -8361,59 +8291,57 @@ public: class IfcMaterialLayer : public IfcMaterialDefinition { public: /// Whether the optional attribute Material is defined for this IfcMaterialLayer - bool hasMaterial(); + 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(); + IfcMaterial* Material() const; void setMaterial(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. - IfcNonNegativeLengthMeasure LayerThickness(); + IfcNonNegativeLengthMeasure LayerThickness() const; void setLayerThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer - bool hasIsVentilated(); + bool hasIsVentilated() const; /// 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). - IfcLogical IsVentilated(); + IfcLogical IsVentilated() const; void setIsVentilated(IfcLogical v); /// Whether the optional attribute Name is defined for this IfcMaterialLayer - bool hasName(); + bool hasName() const; /// The name by which the material layer is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterialLayer - bool hasDescription(); + bool hasDescription() const; /// Definition of the material layer in more descriptive terms than given by attributes Name or Category. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Category is defined for this IfcMaterialLayer - bool hasCategory(); + bool hasCategory() const; /// Category of the material layer, e.g. the role it has in the layer set it belongs to (such as 'load bearing', 'thermal insulation' etc.). - IfcLabel Category(); + IfcLabel Category() const; void setCategory(IfcLabel v); /// Whether the optional attribute Priority is defined for this IfcMaterialLayer - bool hasPriority(); + bool hasPriority() const; /// The relative priority of the layer, expressed as ratio measure, normalised to 0..1. Controls how layers intersect in connections and corners of building elements: a layer from one element protrudes into (i.e. displaces) a layer from another element in a joint of these elements if the former element's layer has higher priority than the latter. The priorty value for a material layer in an element has to be set and maintained by software applications, in relation to the material layers in connected elements. The usage has to be further specified for each element, especially to avoid simultanious use with IfcLayerOffset. - IfcNormalisedRatioMeasure Priority(); + IfcNormalisedRatioMeasure Priority() const; void setPriority(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_DOUBLE; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Material"; case 1: return "LayerThickness"; case 2: return "IsVentilated"; case 3: return "Name"; case 4: return "Description"; case 5: return "Category"; case 6: return "Priority"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSet > > ToMaterialLayerSet(); // INVERSE IfcMaterialLayerSet::MaterialLayers + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMaterialLayerSet >::ptr ToMaterialLayerSet() const; // INVERSE IfcMaterialLayerSet::MaterialLayers bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayer (IfcAbstractEntityPtr e); + IfcMaterialLayer (IfcAbstractEntity* e); IfcMaterialLayer (IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority); - typedef IfcMaterialLayer* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayer >::it it; + 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. /// @@ -8451,32 +8379,30 @@ public: class IfcMaterialLayerSet : public IfcMaterialDefinition { public: /// Identification of the layers from which the material layer set is composed. - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > MaterialLayers(); - void setMaterialLayers(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v); + IfcTemplatedEntityList< IfcMaterialLayer >::ptr MaterialLayers() const; + void setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v); /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet - bool hasLayerSetName(); + bool hasLayerSetName() const; /// The name by which the material layer set is known. - IfcLabel LayerSetName(); + IfcLabel LayerSetName() const; void setLayerSetName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterialLayerSet - bool hasDescription(); + bool hasDescription() const; /// Definition of the material layer set in descriptive terms. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MaterialLayers"; case 1: return "LayerSetName"; case 2: return "Description"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayerSet (IfcAbstractEntityPtr e); - IfcMaterialLayerSet (SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayer > > v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName, boost::optional< IfcText > v3_Description); - typedef IfcMaterialLayerSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSet > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayerSet >::it it; + IfcMaterialLayerSet (IfcAbstractEntity* e); + IfcMaterialLayerSet (IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName, boost::optional< IfcText > v3_Description); + typedef IfcTemplatedEntityList< IfcMaterialLayerSet > list; }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition /// of offset values along edges (within the material layer set usage in parent layer set). @@ -8524,23 +8450,21 @@ public: class IfcMaterialLayerWithOffsets : public IfcMaterialLayer { public: /// Orientation of the offset; shall be perpendicular to the parent layer set direction. - IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum OffsetDirection(); + IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum OffsetDirection() const; void setOffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); /// The numerical value of layer offset, in the direction of the axis assigned by the attribute OffsetDirection. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), - std::vector< IfcLengthMeasure > /*[1:2]*/ OffsetValues(); + std::vector< IfcLengthMeasure > /*[1:2]*/ OffsetValues() const; void setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcMaterialLayer::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "OffsetDirection"; case 8: return "OffsetValues"; } return IfcMaterialLayer::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayerWithOffsets (IfcAbstractEntityPtr e); + IfcMaterialLayerWithOffsets (IfcAbstractEntity* e); IfcMaterialLayerWithOffsets (IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< IfcLengthMeasure > /*[1:2]*/ v9_OffsetValues); - typedef IfcMaterialLayerWithOffsets* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerWithOffsets > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayerWithOffsets >::it it; + typedef IfcTemplatedEntityList< IfcMaterialLayerWithOffsets > list; }; /// IfcMaterialList is a list of the different materials /// that are used in an element. @@ -8562,20 +8486,18 @@ public: class IfcMaterialList : public IfcUtil::IfcBaseEntity { public: /// Materials used in a composition of substances. - SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > Materials(); - void setMaterials(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v); + IfcTemplatedEntityList< IfcMaterial >::ptr Materials() const; + void setMaterials(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Materials"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialList (IfcAbstractEntityPtr e); - IfcMaterialList (SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v1_Materials); - typedef IfcMaterialList* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialList > > list; - typedef IfcTemplatedEntityList< IfcMaterialList >::it it; + IfcMaterialList (IfcAbstractEntity* e); + IfcMaterialList (IfcTemplatedEntityList< IfcMaterial >::ptr v1_Materials); + typedef IfcTemplatedEntityList< IfcMaterialList > list; }; /// IfcMaterialProfile is a single and identifiable part of an element which is constructed of a number of profiles (one or more). /// @@ -8585,46 +8507,44 @@ public: class IfcMaterialProfile : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialProfile - bool hasName(); + bool hasName() const; /// The name by which the material profile is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterialProfile - bool hasDescription(); + bool hasDescription() const; /// Definition of the material profile in descriptive terms. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Material is defined for this IfcMaterialProfile - bool hasMaterial(); + bool hasMaterial() const; /// Optional reference to the material from which the profile is constructed. - IfcMaterial* Material(); + IfcMaterial* Material() const; void setMaterial(IfcMaterial* v); /// Identification of the profile for which this material profile is associating material. - IfcProfileDef* Profile(); + IfcProfileDef* Profile() const; void setProfile(IfcProfileDef* v); /// Whether the optional attribute Priority is defined for this IfcMaterialProfile - bool hasPriority(); + bool hasPriority() const; /// The relative priority of the profile, expressed as ratio measure, normalised to 0..1. Controls how profiles intersect in connections and corners of building elements: a profile from one element protrudes into (i.e. displaces) a profile from another element in a joint of these elements if the former element's profile has higher priority than the latter. The priorty value for a material profile in an element has to be set and maintained by software applications, in relation to the material profiles in connected elements. - IfcNormalisedRatioMeasure Priority(); + IfcNormalisedRatioMeasure Priority() const; void setPriority(IfcNormalisedRatioMeasure v); /// Whether the optional attribute Category is defined for this IfcMaterialProfile - bool hasCategory(); + bool hasCategory() const; /// Category of the material profile, e.g. the role it has in the profile set it belongs to. - IfcLabel Category(); + IfcLabel Category() const; void setCategory(IfcLabel v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Material"; case 3: return "Profile"; case 4: return "Priority"; case 5: return "Category"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfileSet > > ToMaterialProfileSet(); // INVERSE IfcMaterialProfileSet::MaterialProfiles + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMaterialProfileSet >::ptr ToMaterialProfileSet() const; // INVERSE IfcMaterialProfileSet::MaterialProfiles bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProfile (IfcAbstractEntityPtr e); + IfcMaterialProfile (IfcAbstractEntity* e); IfcMaterialProfile (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category); - typedef IfcMaterialProfile* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > list; - typedef IfcTemplatedEntityList< IfcMaterialProfile >::it it; + 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. /// @@ -8634,38 +8554,36 @@ public: class IfcMaterialProfileSet : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialProfileSet - bool hasName(); + bool hasName() const; /// The name by which the material profile set is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterialProfileSet - bool hasDescription(); + bool hasDescription() const; /// Definition of the material profile set in descriptive terms. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Identification of the profiles from which the material profile set is composed. - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > MaterialProfiles(); - void setMaterialProfiles(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > v); + IfcTemplatedEntityList< IfcMaterialProfile >::ptr MaterialProfiles() const; + void setMaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v); /// Whether the optional attribute CompositeProfile is defined for this IfcMaterialProfileSet - bool hasCompositeProfile(); + bool hasCompositeProfile() const; /// 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(); + IfcCompositeProfileDef* CompositeProfile() const; void setCompositeProfile(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "MaterialProfiles"; case 3: return "CompositeProfile"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProfileSet (IfcAbstractEntityPtr e); - IfcMaterialProfileSet (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfile > > v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile); - typedef IfcMaterialProfileSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfileSet > > list; - typedef IfcTemplatedEntityList< IfcMaterialProfileSet >::it it; + IfcMaterialProfileSet (IfcAbstractEntity* e); + IfcMaterialProfileSet (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile); + typedef IfcTemplatedEntityList< IfcMaterialProfileSet > list; }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. /// @@ -8675,20 +8593,18 @@ public: class IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), - std::vector< IfcLengthMeasure > /*[1:2]*/ OffsetValues(); + std::vector< IfcLengthMeasure > /*[1:2]*/ OffsetValues() const; void setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcMaterialProfile::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "OffsetValues"; } return IfcMaterialProfile::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProfileWithOffsets (IfcAbstractEntityPtr e); + IfcMaterialProfileWithOffsets (IfcAbstractEntity* e); IfcMaterialProfileWithOffsets (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category, std::vector< IfcLengthMeasure > /*[1:2]*/ v7_OffsetValues); - typedef IfcMaterialProfileWithOffsets* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfileWithOffsets > > list; - typedef IfcTemplatedEntityList< IfcMaterialProfileWithOffsets >::it it; + typedef IfcTemplatedEntityList< IfcMaterialProfileWithOffsets > list; }; /// IfcMaterialUsageDefinition is a general supertype for all /// material related information items in IFC that have occurrence @@ -8726,16 +8642,14 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesMaterial > > AssociatedTo(); // INVERSE IfcRelAssociatesMaterial::RelatingMaterial + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesMaterial >::ptr AssociatedTo() const; // INVERSE IfcRelAssociatesMaterial::RelatingMaterial bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialUsageDefinition (IfcAbstractEntityPtr e); + IfcMaterialUsageDefinition (IfcAbstractEntity* e); IfcMaterialUsageDefinition (); - typedef IfcMaterialUsageDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialUsageDefinition > > list; - typedef IfcTemplatedEntityList< IfcMaterialUsageDefinition >::it it; + typedef IfcTemplatedEntityList< IfcMaterialUsageDefinition > list; }; /// Definition from ISO/CD 10303-41:1992: A measure with unit is the specification of a physical quantity as defined in ISO 31 (clause 2). /// @@ -8750,23 +8664,21 @@ public: class IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. - IfcValue ValueComponent(); + IfcValue ValueComponent() const; void setValueComponent(IfcValue v); /// The unit in which the physical quantity is expressed. - IfcUnit UnitComponent(); + IfcUnit UnitComponent() const; void setUnitComponent(IfcUnit v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ValueComponent"; case 1: return "UnitComponent"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMeasureWithUnit (IfcAbstractEntityPtr e); + IfcMeasureWithUnit (IfcAbstractEntity* e); IfcMeasureWithUnit (IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent); - typedef IfcMeasureWithUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMeasureWithUnit > > list; - typedef IfcTemplatedEntityList< IfcMeasureWithUnit >::it it; + typedef IfcTemplatedEntityList< IfcMeasureWithUnit > list; }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. /// @@ -8823,32 +8735,30 @@ public: class IfcMetric : public IfcConstraint { public: /// Enumeration that identifies the type of benchmark data. - IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark(); + IfcBenchmarkEnum::IfcBenchmarkEnum Benchmark() const; void setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v); /// Whether the optional attribute ValueSource is defined for this IfcMetric - bool hasValueSource(); + bool hasValueSource() const; /// Reference source for data values. - IfcLabel ValueSource(); + IfcLabel ValueSource() const; void setValueSource(IfcLabel v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. - IfcMetricValueSelect DataValue(); + IfcMetricValueSelect DataValue() const; void setDataValue(IfcMetricValueSelect v); /// Whether the optional attribute ReferencePath is defined for this IfcMetric - bool hasReferencePath(); - IfcReference* ReferencePath(); + bool hasReferencePath() const; + IfcReference* ReferencePath() const; void setReferencePath(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Benchmark"; case 8: return "ValueSource"; case 9: return "DataValue"; case 10: return "ReferencePath"; } return IfcConstraint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMetric (IfcAbstractEntityPtr e); + IfcMetric (IfcAbstractEntity* e); IfcMetric (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue, IfcReference* v11_ReferencePath); - typedef IfcMetric* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMetric > > list; - typedef IfcTemplatedEntityList< IfcMetric >::it it; + typedef IfcTemplatedEntityList< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. /// @@ -8858,20 +8768,18 @@ public: class IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. - IfcLabel Currency(); + IfcLabel Currency() const; void setCurrency(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Currency"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMonetaryUnit (IfcAbstractEntityPtr e); + IfcMonetaryUnit (IfcAbstractEntity* e); IfcMonetaryUnit (IfcLabel v1_Currency); - typedef IfcMonetaryUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMonetaryUnit > > list; - typedef IfcTemplatedEntityList< IfcMonetaryUnit >::it it; + typedef IfcTemplatedEntityList< IfcMonetaryUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A named unit is a unit quantity associated with the word, or group of words, by which the unit is identified. /// @@ -8881,23 +8789,21 @@ public: class IfcNamedUnit : public IfcUtil::IfcBaseEntity { public: /// The dimensional exponents of the SI base units by which the named unit is defined. - IfcDimensionalExponents* Dimensions(); + IfcDimensionalExponents* Dimensions() const; void setDimensions(IfcDimensionalExponents* v); /// The type of the unit. - IfcUnitEnum::IfcUnitEnum UnitType(); + IfcUnitEnum::IfcUnitEnum UnitType() const; void setUnitType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Dimensions"; case 1: return "UnitType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcNamedUnit (IfcAbstractEntityPtr e); + IfcNamedUnit (IfcAbstractEntity* e); IfcNamedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType); - typedef IfcNamedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcNamedUnit > > list; - typedef IfcTemplatedEntityList< IfcNamedUnit >::it it; + typedef IfcTemplatedEntityList< IfcNamedUnit > list; }; /// IfcObjectPlacement is an abstract supertype for the special types defining the object coordinate system. The /// IfcObjectPlacement has to be provided for each product that has a shape representation. @@ -8915,17 +8821,15 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > PlacesObject(); // INVERSE IfcProduct::ObjectPlacement - SHARED_PTR< IfcTemplatedEntityList< IfcLocalPlacement > > ReferencedByPlacements(); // INVERSE IfcLocalPlacement::PlacementRelTo + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcProduct >::ptr PlacesObject() const; // INVERSE IfcProduct::ObjectPlacement + IfcTemplatedEntityList< IfcLocalPlacement >::ptr ReferencedByPlacements() const; // INVERSE IfcLocalPlacement::PlacementRelTo bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObjectPlacement (IfcAbstractEntityPtr e); + IfcObjectPlacement (IfcAbstractEntity* e); IfcObjectPlacement (); - typedef IfcObjectPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjectPlacement > > list; - typedef IfcTemplatedEntityList< IfcObjectPlacement >::it it; + typedef IfcTemplatedEntityList< IfcObjectPlacement > list; }; /// An IfcObjective captures qualitative information for an objective-based constraint. /// @@ -8939,34 +8843,32 @@ public: class IfcObjective : public IfcConstraint { public: /// Whether the optional attribute BenchmarkValues is defined for this IfcObjective - bool hasBenchmarkValues(); + bool hasBenchmarkValues() const; /// A list of any benchmark values used for comparison purposes. - SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > BenchmarkValues(); - void setBenchmarkValues(SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > v); + IfcTemplatedEntityList< IfcConstraint >::ptr BenchmarkValues() const; + void setBenchmarkValues(IfcTemplatedEntityList< IfcConstraint >::ptr v); /// Whether the optional attribute LogicalAggregator is defined for this IfcObjective - bool hasLogicalAggregator(); - IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator(); + bool hasLogicalAggregator() const; + IfcLogicalOperatorEnum::IfcLogicalOperatorEnum LogicalAggregator() const; void setLogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v); /// Enumeration that qualifies the type of objective constraint. - IfcObjectiveEnum::IfcObjectiveEnum ObjectiveQualifier(); + IfcObjectiveEnum::IfcObjectiveEnum ObjectiveQualifier() const; void setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v); /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective - bool hasUserDefinedQualifier(); + bool hasUserDefinedQualifier() const; /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - IfcLabel UserDefinedQualifier(); + IfcLabel UserDefinedQualifier() const; void setUserDefinedQualifier(IfcLabel v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcConstraint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "BenchmarkValues"; case 8: return "LogicalAggregator"; case 9: return "ObjectiveQualifier"; case 10: return "UserDefinedQualifier"; } return IfcConstraint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObjective (IfcAbstractEntityPtr e); - IfcObjective (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcConstraint > > > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier); - typedef IfcObjective* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjective > > list; - typedef IfcTemplatedEntityList< IfcObjective >::it it; + IfcObjective (IfcAbstractEntity* e); + IfcObjective (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier); + typedef IfcTemplatedEntityList< IfcObjective > list; }; /// A named and structured grouping with a corporate identity. /// @@ -8979,44 +8881,42 @@ public: class IfcOrganization : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identification is defined for this IfcOrganization - bool hasIdentification(); + bool hasIdentification() const; /// Identification of the organization. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// The word, or group of words, by which the organization is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcOrganization - bool hasDescription(); + bool hasDescription() const; /// Text that relates the nature of the organization. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Roles is defined for this IfcOrganization - bool hasRoles(); + bool hasRoles() const; /// Roles played by the organization. - SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); - void setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v); + IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; + void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); /// Whether the optional attribute Addresses is defined for this IfcOrganization - bool hasAddresses(); + bool hasAddresses() const; /// Postal and telecom addresses of an organization. /// NOTE: There may be several addresses related to an organization. - SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > Addresses(); - void setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v); + IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; + void setAddresses(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Identification"; case 1: return "Name"; case 2: return "Description"; case 3: return "Roles"; case 4: return "Addresses"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > IsRelatedBy(); // INVERSE IfcOrganizationRelationship::RelatedOrganizations - SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > Relates(); // INVERSE IfcOrganizationRelationship::RelatingOrganization - SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > Engages(); // INVERSE IfcPersonAndOrganization::TheOrganization + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcOrganizationRelationship >::ptr IsRelatedBy() const; // INVERSE IfcOrganizationRelationship::RelatedOrganizations + IfcTemplatedEntityList< IfcOrganizationRelationship >::ptr Relates() const; // INVERSE IfcOrganizationRelationship::RelatingOrganization + IfcTemplatedEntityList< IfcPersonAndOrganization >::ptr Engages() const; // INVERSE IfcPersonAndOrganization::TheOrganization bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrganization (IfcAbstractEntityPtr e); - IfcOrganization (boost::optional< IfcIdentifier > v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v4_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v5_Addresses); - typedef IfcOrganization* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > list; - typedef IfcTemplatedEntityList< IfcOrganization >::it it; + IfcOrganization (IfcAbstractEntity* e); + IfcOrganization (boost::optional< IfcIdentifier > v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses); + typedef IfcTemplatedEntityList< IfcOrganization > list; }; /// IfcOwnerHistory defines all history and identification related information. In order to provide fast access it is directly attached to all independent objects, relationships and properties. /// @@ -9031,51 +8931,49 @@ public: 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(); + IfcPersonAndOrganization* OwningUser() const; void setOwningUser(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(); + IfcApplication* OwningApplication() const; void setOwningApplication(IfcApplication* v); /// Whether the optional attribute State is defined for this IfcOwnerHistory - bool hasState(); + bool hasState() const; /// Enumeration that defines the current access state of the object. - IfcStateEnum::IfcStateEnum State(); + IfcStateEnum::IfcStateEnum State() const; void setState(IfcStateEnum::IfcStateEnum v); /// Whether the optional attribute ChangeAction is defined for this IfcOwnerHistory - bool hasChangeAction(); + bool hasChangeAction() const; /// Enumeration that defines the actions associated with changes made to the object. - IfcChangeActionEnum::IfcChangeActionEnum ChangeAction(); + IfcChangeActionEnum::IfcChangeActionEnum ChangeAction() const; void setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v); /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory - bool hasLastModifiedDate(); + bool hasLastModifiedDate() const; /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - IfcTimeStamp LastModifiedDate(); + IfcTimeStamp LastModifiedDate() const; void setLastModifiedDate(IfcTimeStamp v); /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory - bool hasLastModifyingUser(); + bool hasLastModifyingUser() const; /// User who carried out the last modification using LastModifyingApplication. - IfcPersonAndOrganization* LastModifyingUser(); + IfcPersonAndOrganization* LastModifyingUser() const; void setLastModifyingUser(IfcPersonAndOrganization* v); /// Whether the optional attribute LastModifyingApplication is defined for this IfcOwnerHistory - bool hasLastModifyingApplication(); + bool hasLastModifyingApplication() const; /// Application used to make the last modification. - IfcApplication* LastModifyingApplication(); + IfcApplication* LastModifyingApplication() const; void setLastModifyingApplication(IfcApplication* v); /// The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. - IfcTimeStamp CreationDate(); + IfcTimeStamp CreationDate() const; void setCreationDate(IfcTimeStamp v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OwningUser"; case 1: return "OwningApplication"; case 2: return "State"; case 3: return "ChangeAction"; case 4: return "LastModifiedDate"; case 5: return "LastModifyingUser"; case 6: return "LastModifyingApplication"; case 7: return "CreationDate"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOwnerHistory (IfcAbstractEntityPtr e); + IfcOwnerHistory (IfcAbstractEntity* e); IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate); - typedef IfcOwnerHistory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOwnerHistory > > list; - typedef IfcTemplatedEntityList< IfcOwnerHistory >::it it; + typedef IfcTemplatedEntityList< IfcOwnerHistory > list; }; /// Definition: an individual human being. /// @@ -9089,64 +8987,62 @@ public: class IfcPerson : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identification is defined for this IfcPerson - bool hasIdentification(); + bool hasIdentification() const; /// Identification of the person. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute FamilyName is defined for this IfcPerson - bool hasFamilyName(); + bool hasFamilyName() const; /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - IfcLabel FamilyName(); + IfcLabel FamilyName() const; void setFamilyName(IfcLabel v); /// Whether the optional attribute GivenName is defined for this IfcPerson - bool hasGivenName(); + bool hasGivenName() const; /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - IfcLabel GivenName(); + IfcLabel GivenName() const; void setGivenName(IfcLabel v); /// Whether the optional attribute MiddleNames is defined for this IfcPerson - bool hasMiddleNames(); + bool hasMiddleNames() const; /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// NOTE: Middle names are not normally used in familiar communication but may be asserted to provide additional /// identification of a particular person if necessary. They may be particularly useful in situations where the person concerned has a /// family name that occurs commonly in the geographical region. - std::vector< IfcLabel > /*[1:?]*/ MiddleNames(); + std::vector< IfcLabel > /*[1:?]*/ MiddleNames() const; void setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute PrefixTitles is defined for this IfcPerson - bool hasPrefixTitles(); + bool hasPrefixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< IfcLabel > /*[1:?]*/ PrefixTitles(); + std::vector< IfcLabel > /*[1:?]*/ PrefixTitles() const; void setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute SuffixTitles is defined for this IfcPerson - bool hasSuffixTitles(); + bool hasSuffixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< IfcLabel > /*[1:?]*/ SuffixTitles(); + std::vector< IfcLabel > /*[1:?]*/ SuffixTitles() const; void setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute Roles is defined for this IfcPerson - bool hasRoles(); + bool hasRoles() const; /// Roles played by the person. - SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); - void setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v); + IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; + void setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v); /// Whether the optional attribute Addresses is defined for this IfcPerson - bool hasAddresses(); + bool hasAddresses() const; /// Postal and telecommunication addresses of a person. /// NOTE - A person may have several addresses. - SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > Addresses(); - void setAddresses(SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > v); + IfcTemplatedEntityList< IfcAddress >::ptr Addresses() const; + void setAddresses(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Identification"; case 1: return "FamilyName"; case 2: return "GivenName"; case 3: return "MiddleNames"; case 4: return "PrefixTitles"; case 5: return "SuffixTitles"; case 6: return "Roles"; case 7: return "Addresses"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > EngagedIn(); // INVERSE IfcPersonAndOrganization::ThePerson + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPersonAndOrganization >::ptr EngagedIn() const; // INVERSE IfcPersonAndOrganization::ThePerson bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPerson (IfcAbstractEntityPtr e); - IfcPerson (boost::optional< IfcIdentifier > v1_Identification, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v7_Roles, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAddress > > > v8_Addresses); - typedef IfcPerson* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > list; - typedef IfcTemplatedEntityList< IfcPerson >::it it; + IfcPerson (IfcAbstractEntity* e); + IfcPerson (boost::optional< IfcIdentifier > v1_Identification, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses); + typedef IfcTemplatedEntityList< IfcPerson > list; }; /// Definition: Identification of a person within an organization. /// @@ -9156,28 +9052,26 @@ public: class IfcPersonAndOrganization : public IfcUtil::IfcBaseEntity { public: /// The person who is related to the organization. - IfcPerson* ThePerson(); + IfcPerson* ThePerson() const; void setThePerson(IfcPerson* v); /// The organization to which the person is related. - IfcOrganization* TheOrganization(); + IfcOrganization* TheOrganization() const; void setTheOrganization(IfcOrganization* v); /// Whether the optional attribute Roles is defined for this IfcPersonAndOrganization - bool hasRoles(); + bool hasRoles() const; /// Roles played by the person within the context of an organization. These may differ from the roles in ThePerson.Roles which may be asserted without organizational context. - SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > Roles(); - void setRoles(SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > v); + IfcTemplatedEntityList< IfcActorRole >::ptr Roles() const; + void setRoles(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ThePerson"; case 1: return "TheOrganization"; case 2: return "Roles"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPersonAndOrganization (IfcAbstractEntityPtr e); - IfcPersonAndOrganization (IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcActorRole > > > v3_Roles); - typedef IfcPersonAndOrganization* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPersonAndOrganization > > list; - typedef IfcTemplatedEntityList< IfcPersonAndOrganization >::it it; + IfcPersonAndOrganization (IfcAbstractEntity* e); + IfcPersonAndOrganization (IfcPerson* v1_ThePerson, IfcOrganization* v2_TheOrganization, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v3_Roles); + typedef IfcTemplatedEntityList< IfcPersonAndOrganization > list; }; /// The physical quantity, IfcPhysicalQuantity, is an abstract entity that holds a complex or simple quantity measure together with a semantic definition of the usage for the single or several measure value. /// @@ -9187,27 +9081,25 @@ public: class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity - bool hasDescription(); + bool hasDescription() const; /// Further explanation that might be given to the quantity. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReferences(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalComplexQuantity > > PartOfComplex(); // INVERSE IfcPhysicalComplexQuantity::HasQuantities + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcPhysicalComplexQuantity >::ptr PartOfComplex() const; // INVERSE IfcPhysicalComplexQuantity::HasQuantities bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPhysicalQuantity (IfcAbstractEntityPtr e); + IfcPhysicalQuantity (IfcAbstractEntity* e); IfcPhysicalQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcPhysicalQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > list; - typedef IfcTemplatedEntityList< IfcPhysicalQuantity >::it it; + typedef IfcTemplatedEntityList< IfcPhysicalQuantity > list; }; /// The physical quantity, IfcPhysicalSimpleQuantity, is an entity that holds a single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity) together with a semantic definition of the usage for the measure value. /// @@ -9221,22 +9113,20 @@ public: class IfcPhysicalSimpleQuantity : public IfcPhysicalQuantity { public: /// Whether the optional attribute Unit is defined for this IfcPhysicalSimpleQuantity - bool hasUnit(); + 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(); + IfcNamedUnit* Unit() const; void setUnit(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Unit"; } return IfcPhysicalQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPhysicalSimpleQuantity (IfcAbstractEntityPtr e); + IfcPhysicalSimpleQuantity (IfcAbstractEntity* e); IfcPhysicalSimpleQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit); - typedef IfcPhysicalSimpleQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > > list; - typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity >::it it; + typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. /// @@ -9244,58 +9134,56 @@ public: class IfcPostalAddress : public IfcAddress { public: /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress - bool hasInternalLocation(); + bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - IfcLabel InternalLocation(); + IfcLabel InternalLocation() const; void setInternalLocation(IfcLabel v); /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress - bool hasAddressLines(); + bool hasAddressLines() const; /// 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< IfcLabel > /*[1:?]*/ AddressLines(); + std::vector< IfcLabel > /*[1:?]*/ AddressLines() const; void setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress - bool hasPostalBox(); + bool hasPostalBox() const; /// An address that is implied by an identifiable mail drop. - IfcLabel PostalBox(); + IfcLabel PostalBox() const; void setPostalBox(IfcLabel v); /// Whether the optional attribute Town is defined for this IfcPostalAddress - bool hasTown(); + bool hasTown() const; /// The name of a town. - IfcLabel Town(); + IfcLabel Town() const; void setTown(IfcLabel v); /// Whether the optional attribute Region is defined for this IfcPostalAddress - bool hasRegion(); + bool hasRegion() const; /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - IfcLabel Region(); + IfcLabel Region() const; void setRegion(IfcLabel v); /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress - bool hasPostalCode(); + bool hasPostalCode() const; /// The code that is used by the country's postal service. - IfcLabel PostalCode(); + IfcLabel PostalCode() const; void setPostalCode(IfcLabel v); /// Whether the optional attribute Country is defined for this IfcPostalAddress - bool hasCountry(); + bool hasCountry() const; /// The name of a country. - IfcLabel Country(); + IfcLabel Country() const; void setCountry(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InternalLocation"; case 4: return "AddressLines"; case 5: return "PostalBox"; case 6: return "Town"; case 7: return "Region"; case 8: return "PostalCode"; case 9: return "Country"; } return IfcAddress::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPostalAddress (IfcAbstractEntityPtr e); + IfcPostalAddress (IfcAbstractEntity* e); IfcPostalAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country); - typedef IfcPostalAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPostalAddress > > list; - typedef IfcTemplatedEntityList< IfcPostalAddress >::it it; + typedef IfcTemplatedEntityList< IfcPostalAddress > list; }; class IfcPresentationItem : public IfcUtil::IfcBaseEntity { @@ -9303,15 +9191,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationItem (IfcAbstractEntityPtr e); + IfcPresentationItem (IfcAbstractEntity* e); IfcPresentationItem (); - typedef IfcPresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationItem > > list; - typedef IfcTemplatedEntityList< IfcPresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcPresentationItem > list; }; /// The presentation layer assignment provides the layer name (and optionally a description and an identifier) for a collection of geometric representation items. The IfcPresentationLayerAssignment corresponds to the term "CAD Layer" and is used mainly for grouping and visibility control. /// @@ -9331,33 +9217,31 @@ public: class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment - bool hasDescription(); + bool hasDescription() const; /// Additional description of the layer. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// The set of layered items, which are assigned to this layer. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > AssignedItems(); - void setAssignedItems(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr AssignedItems() const; + void setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment - bool hasIdentifier(); + bool hasIdentifier() const; /// An (internal) identifier assigned to the layer. - IfcIdentifier Identifier(); + IfcIdentifier Identifier() const; void setIdentifier(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "AssignedItems"; case 3: return "Identifier"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationLayerAssignment (IfcAbstractEntityPtr e); - IfcPresentationLayerAssignment (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier); - typedef IfcPresentationLayerAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > list; - typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment >::it it; + IfcPresentationLayerAssignment (IfcAbstractEntity* e); + IfcPresentationLayerAssignment (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier); + typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. /// @@ -9375,33 +9259,31 @@ public: 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(); + bool LayerOn() const; void setLayerOn(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(); + bool LayerFrozen() const; void setLayerFrozen(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(); + bool LayerBlocked() const; void setLayerBlocked(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. - SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > LayerStyles(); - void setLayerStyles(SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > v); + IfcTemplatedEntityList< IfcPresentationStyle >::ptr LayerStyles() const; + void setLayerStyles(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LayerOn"; case 5: return "LayerFrozen"; case 6: return "LayerBlocked"; case 7: return "LayerStyles"; } return IfcPresentationLayerAssignment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationLayerWithStyle (IfcAbstractEntityPtr e); - IfcPresentationLayerWithStyle (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > v8_LayerStyles); - typedef IfcPresentationLayerWithStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerWithStyle > > list; - typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle >::it it; + IfcPresentationLayerWithStyle (IfcAbstractEntity* e); + IfcPresentationLayerWithStyle (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles); + typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle > list; }; /// IfcPresentationStyle is an abstract generalization of style table for presentation information assigned to geometric representation items. It includes styles for curves, areas, surfaces, text and symbols. Style information may include colour, hatching, rendering, and text fonts. /// @@ -9411,22 +9293,20 @@ public: class IfcPresentationStyle : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle - bool hasName(); + bool hasName() const; /// Name of the presentation style. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationStyle (IfcAbstractEntityPtr e); + IfcPresentationStyle (IfcAbstractEntity* e); IfcPresentationStyle (boost::optional< IfcLabel > v1_Name); - typedef IfcPresentationStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyle > > list; - typedef IfcTemplatedEntityList< IfcPresentationStyle >::it it; + typedef IfcTemplatedEntityList< IfcPresentationStyle > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style assignment is a set of styles which are assigned to styled items for the purpose of presenting these styled items. /// @@ -9436,20 +9316,18 @@ public: class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Styles(); - void setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; + void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Styles"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPresentationStyleAssignment (IfcAbstractEntityPtr e); - IfcPresentationStyleAssignment (IfcEntities v1_Styles); - typedef IfcPresentationStyleAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPresentationStyleAssignment > > list; - typedef IfcTemplatedEntityList< IfcPresentationStyleAssignment >::it it; + IfcPresentationStyleAssignment (IfcAbstractEntity* e); + IfcPresentationStyleAssignment (IfcEntityList::ptr v1_Styles); + typedef IfcTemplatedEntityList< IfcPresentationStyleAssignment > list; }; /// IfcProductRepresentation defines a representation of a /// product, including its (geometric or topological) representation. @@ -9471,30 +9349,28 @@ public: class IfcProductRepresentation : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation - bool hasName(); + bool hasName() const; /// The word or group of words by which the product representation is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcProductRepresentation - bool hasDescription(); + bool hasDescription() const; /// The word or group of words that characterize the product representation. It can be used to add additional meaning to the name of the product representation. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > Representations(); - void setRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v); + IfcTemplatedEntityList< IfcRepresentation >::ptr Representations() const; + void setRepresentations(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Representations"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProductRepresentation (IfcAbstractEntityPtr e); - IfcProductRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations); - typedef IfcProductRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductRepresentation > > list; - typedef IfcTemplatedEntityList< IfcProductRepresentation >::it it; + IfcProductRepresentation (IfcAbstractEntity* e); + IfcProductRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + typedef IfcTemplatedEntityList< IfcProductRepresentation > list; }; /// IfcProfileDef /// is the supertype of all definitions of standard and arbitrary profiles @@ -9669,27 +9545,25 @@ public: 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(); + IfcProfileTypeEnum::IfcProfileTypeEnum ProfileType() const; void setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v); /// Whether the optional attribute ProfileName is defined for this IfcProfileDef - bool hasProfileName(); + bool hasProfileName() const; /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - IfcLabel ProfileName(); + IfcLabel ProfileName() const; void setProfileName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ProfileType"; case 1: return "ProfileName"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReference(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects - SHARED_PTR< IfcTemplatedEntityList< IfcProfileProperties > > HasProperties(); // INVERSE IfcProfileProperties::ProfileDefinition + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcProfileProperties >::ptr HasProperties() const; // INVERSE IfcProfileProperties::ProfileDefinition bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProfileDef (IfcAbstractEntityPtr e); + IfcProfileDef (IfcAbstractEntity* e); IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName); - typedef IfcProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > list; - typedef IfcTemplatedEntityList< IfcProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcProfileDef > list; }; /// Definition from OpenGIS® Abstract Specification, /// Topic 2: A 2D (or with vertical coordinate axis 3D) @@ -9717,39 +9591,37 @@ public: class IfcProjectedCRS : public IfcCoordinateReferenceSystem { public: /// Whether the optional attribute MapProjection is defined for this IfcProjectedCRS - bool hasMapProjection(); + bool hasMapProjection() const; /// Name by which the map projection is identified. /// /// UTM /// Gaus-Krueger - IfcIdentifier MapProjection(); + IfcIdentifier MapProjection() const; void setMapProjection(IfcIdentifier v); /// Whether the optional attribute MapZone is defined for this IfcProjectedCRS - bool hasMapZone(); + bool hasMapZone() const; /// Name by which the map zone, relating to the MapProjection, is identified. Examples are /// /// for UTM, the zone number, like 32 for UTM32 /// for Gaus-Krueger, the zones of longitudinal width, like 3' - IfcIdentifier MapZone(); + IfcIdentifier MapZone() const; void setMapZone(IfcIdentifier v); /// Whether the optional attribute MapUnit is defined for this IfcProjectedCRS - bool hasMapUnit(); + bool hasMapUnit() const; /// 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(); + IfcNamedUnit* MapUnit() const; void setMapUnit(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "MapProjection"; case 5: return "MapZone"; case 6: return "MapUnit"; } return IfcCoordinateReferenceSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectedCRS (IfcAbstractEntityPtr e); + IfcProjectedCRS (IfcAbstractEntity* e); IfcProjectedCRS (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum, boost::optional< IfcIdentifier > v5_MapProjection, boost::optional< IfcIdentifier > v6_MapZone, IfcNamedUnit* v7_MapUnit); - typedef IfcProjectedCRS* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectedCRS > > list; - typedef IfcTemplatedEntityList< IfcProjectedCRS >::it it; + typedef IfcTemplatedEntityList< IfcProjectedCRS > list; }; class IfcPropertyAbstraction : public IfcUtil::IfcBaseEntity { @@ -9757,16 +9629,14 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReferences(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReferences() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyAbstraction (IfcAbstractEntityPtr e); + IfcPropertyAbstraction (IfcAbstractEntity* e); IfcPropertyAbstraction (); - typedef IfcPropertyAbstraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyAbstraction > > list; - typedef IfcTemplatedEntityList< IfcPropertyAbstraction >::it it; + typedef IfcTemplatedEntityList< IfcPropertyAbstraction > list; }; /// IfcPropertyEnumeration is a collection of simple /// or measure values that define a prescribed set of alternatives from @@ -9817,28 +9687,26 @@ public: class IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// List of values that form the enumeration. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > EnumerationValues(); - void setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; + void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration - bool hasUnit(); + bool hasUnit() const; /// Unit for the enumerator values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } return IfcPropertyAbstraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "EnumerationValues"; case 2: return "Unit"; } return IfcPropertyAbstraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyEnumeration (IfcAbstractEntityPtr e); - IfcPropertyEnumeration (IfcLabel v1_Name, IfcEntities v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit); - typedef IfcPropertyEnumeration* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyEnumeration > > list; - typedef IfcTemplatedEntityList< IfcPropertyEnumeration >::it it; + IfcPropertyEnumeration (IfcAbstractEntity* e); + IfcPropertyEnumeration (IfcLabel 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. /// @@ -9848,27 +9716,25 @@ public: class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. - IfcAreaMeasure AreaValue(); + IfcAreaMeasure AreaValue() const; void setAreaValue(IfcAreaMeasure v); /// Whether the optional attribute Formula is defined for this IfcQuantityArea - bool hasFormula(); + bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula(); + IfcLabel Formula() const; void setFormula(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "AreaValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityArea (IfcAbstractEntityPtr e); + IfcQuantityArea (IfcAbstractEntity* e); IfcQuantityArea (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue, boost::optional< IfcLabel > v5_Formula); - typedef IfcQuantityArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityArea > > list; - typedef IfcTemplatedEntityList< IfcQuantityArea >::it it; + 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. /// @@ -9878,27 +9744,25 @@ public: class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. - IfcCountMeasure CountValue(); + IfcCountMeasure CountValue() const; void setCountValue(IfcCountMeasure v); /// Whether the optional attribute Formula is defined for this IfcQuantityCount - bool hasFormula(); + bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula(); + IfcLabel Formula() const; void setFormula(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CountValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityCount (IfcAbstractEntityPtr e); + IfcQuantityCount (IfcAbstractEntity* e); IfcQuantityCount (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue, boost::optional< IfcLabel > v5_Formula); - typedef IfcQuantityCount* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityCount > > list; - typedef IfcTemplatedEntityList< IfcQuantityCount >::it it; + 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. /// @@ -9908,27 +9772,25 @@ public: class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. - IfcLengthMeasure LengthValue(); + IfcLengthMeasure LengthValue() const; void setLengthValue(IfcLengthMeasure v); /// Whether the optional attribute Formula is defined for this IfcQuantityLength - bool hasFormula(); + bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula(); + IfcLabel Formula() const; void setFormula(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "LengthValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityLength (IfcAbstractEntityPtr e); + IfcQuantityLength (IfcAbstractEntity* e); IfcQuantityLength (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue, boost::optional< IfcLabel > v5_Formula); - typedef IfcQuantityLength* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityLength > > list; - typedef IfcTemplatedEntityList< IfcQuantityLength >::it it; + 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. /// @@ -9938,27 +9800,25 @@ public: class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. - IfcTimeMeasure TimeValue(); + IfcTimeMeasure TimeValue() const; void setTimeValue(IfcTimeMeasure v); /// Whether the optional attribute Formula is defined for this IfcQuantityTime - bool hasFormula(); + bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula(); + IfcLabel Formula() const; void setFormula(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TimeValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityTime (IfcAbstractEntityPtr e); + IfcQuantityTime (IfcAbstractEntity* e); IfcQuantityTime (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue, boost::optional< IfcLabel > v5_Formula); - typedef IfcQuantityTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityTime > > list; - typedef IfcTemplatedEntityList< IfcQuantityTime >::it it; + 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. /// @@ -9968,27 +9828,25 @@ public: class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. - IfcVolumeMeasure VolumeValue(); + IfcVolumeMeasure VolumeValue() const; void setVolumeValue(IfcVolumeMeasure v); /// Whether the optional attribute Formula is defined for this IfcQuantityVolume - bool hasFormula(); + bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula(); + IfcLabel Formula() const; void setFormula(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "VolumeValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityVolume (IfcAbstractEntityPtr e); + IfcQuantityVolume (IfcAbstractEntity* e); IfcQuantityVolume (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue, boost::optional< IfcLabel > v5_Formula); - typedef IfcQuantityVolume* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityVolume > > list; - typedef IfcTemplatedEntityList< IfcQuantityVolume >::it it; + 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. /// @@ -9998,27 +9856,25 @@ public: class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. - IfcMassMeasure WeightValue(); + IfcMassMeasure WeightValue() const; void setWeightValue(IfcMassMeasure v); /// Whether the optional attribute Formula is defined for this IfcQuantityWeight - bool hasFormula(); + bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula(); + IfcLabel Formula() const; void setFormula(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "WeightValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantityWeight (IfcAbstractEntityPtr e); + IfcQuantityWeight (IfcAbstractEntity* e); IfcQuantityWeight (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue, boost::optional< IfcLabel > v5_Formula); - typedef IfcQuantityWeight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantityWeight > > list; - typedef IfcTemplatedEntityList< IfcQuantityWeight >::it it; + 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. /// @@ -10032,101 +9888,97 @@ public: /// attributes and decides about possible attribute /// combinations, i.e. what attributes are needed to fully /// describe the pattern type. - IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum RecurrenceType(); + IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum RecurrenceType() const; void setRecurrenceType(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v); /// Whether the optional attribute DayComponent is defined for this IfcRecurrencePattern - bool hasDayComponent(); + bool hasDayComponent() const; /// The position of the specified day in a month. - std::vector< IfcDayInMonthNumber > /*[1:?]*/ DayComponent(); + std::vector< IfcDayInMonthNumber > /*[1:?]*/ DayComponent() const; void setDayComponent(std::vector< IfcDayInMonthNumber > /*[1:?]*/ v); /// Whether the optional attribute WeekdayComponent is defined for this IfcRecurrencePattern - bool hasWeekdayComponent(); + bool hasWeekdayComponent() const; /// The weekday name of the specified day in a week. - std::vector< IfcDayInWeekNumber > /*[1:?]*/ WeekdayComponent(); + std::vector< IfcDayInWeekNumber > /*[1:?]*/ WeekdayComponent() const; void setWeekdayComponent(std::vector< IfcDayInWeekNumber > /*[1:?]*/ v); /// Whether the optional attribute MonthComponent is defined for this IfcRecurrencePattern - bool hasMonthComponent(); + bool hasMonthComponent() const; /// The position of the specified month in a year. - std::vector< IfcMonthInYearNumber > /*[1:?]*/ MonthComponent(); + std::vector< IfcMonthInYearNumber > /*[1:?]*/ MonthComponent() const; void setMonthComponent(std::vector< IfcMonthInYearNumber > /*[1:?]*/ v); /// Whether the optional attribute Position is defined for this IfcRecurrencePattern - bool hasPosition(); + bool hasPosition() const; /// The position of the specified component, e.g. the 3rd /// (position=3) Tuesday (weekday component) in a month. A /// negative position value is used to define the last position /// of the component (-1), the next to last position (-2) etc. - IfcInteger Position(); + IfcInteger Position() const; void setPosition(IfcInteger v); /// Whether the optional attribute Interval is defined for this IfcRecurrencePattern - bool hasInterval(); + bool hasInterval() const; /// 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. - IfcInteger Interval(); + IfcInteger Interval() const; void setInterval(IfcInteger v); /// Whether the optional attribute Occurrences is defined for this IfcRecurrencePattern - bool hasOccurrences(); + bool hasOccurrences() const; /// Defines the number of occurrences of this pattern, e.g. a weekly /// event might be defined to occur 5 times before it stops. - IfcInteger Occurrences(); + IfcInteger Occurrences() const; void setOccurrences(IfcInteger v); /// Whether the optional attribute TimePeriods is defined for this IfcRecurrencePattern - bool hasTimePeriods(); + bool hasTimePeriods() const; /// 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. - SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > TimePeriods(); - void setTimePeriods(SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > v); + IfcTemplatedEntityList< IfcTimePeriod >::ptr TimePeriods() const; + void setTimePeriods(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RecurrenceType"; case 1: return "DayComponent"; case 2: return "WeekdayComponent"; case 3: return "MonthComponent"; case 4: return "Position"; case 5: return "Interval"; case 6: return "Occurrences"; case 7: return "TimePeriods"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRecurrencePattern (IfcAbstractEntityPtr e); - IfcRecurrencePattern (IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< IfcDayInMonthNumber > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< IfcDayInWeekNumber > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< IfcMonthInYearNumber > /*[1:?]*/ > v4_MonthComponent, boost::optional< IfcInteger > v5_Position, boost::optional< IfcInteger > v6_Interval, boost::optional< IfcInteger > v7_Occurrences, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > > v8_TimePeriods); - typedef IfcRecurrencePattern* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRecurrencePattern > > list; - typedef IfcTemplatedEntityList< IfcRecurrencePattern >::it it; + IfcRecurrencePattern (IfcAbstractEntity* e); + IfcRecurrencePattern (IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< IfcDayInMonthNumber > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< IfcDayInWeekNumber > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< IfcMonthInYearNumber > /*[1:?]*/ > v4_MonthComponent, boost::optional< IfcInteger > v5_Position, boost::optional< IfcInteger > v6_Interval, boost::optional< IfcInteger > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods); + typedef IfcTemplatedEntityList< IfcRecurrencePattern > list; }; class IfcReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute TypeIdentifier is defined for this IfcReference - bool hasTypeIdentifier(); - IfcIdentifier TypeIdentifier(); + bool hasTypeIdentifier() const; + IfcIdentifier TypeIdentifier() const; void setTypeIdentifier(IfcIdentifier v); /// Whether the optional attribute AttributeIdentifier is defined for this IfcReference - bool hasAttributeIdentifier(); - IfcIdentifier AttributeIdentifier(); + bool hasAttributeIdentifier() const; + IfcIdentifier AttributeIdentifier() const; void setAttributeIdentifier(IfcIdentifier v); /// Whether the optional attribute InstanceName is defined for this IfcReference - bool hasInstanceName(); - IfcLabel InstanceName(); + bool hasInstanceName() const; + IfcLabel InstanceName() const; void setInstanceName(IfcLabel v); /// Whether the optional attribute ListPositions is defined for this IfcReference - bool hasListPositions(); - std::vector< int > /*[1:?]*/ ListPositions(); + 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(); - IfcReference* InnerReference(); + bool hasInnerReference() const; + IfcReference* InnerReference() const; void setInnerReference(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TypeIdentifier"; case 1: return "AttributeIdentifier"; case 2: return "InstanceName"; case 3: return "ListPositions"; case 4: return "InnerReference"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReference (IfcAbstractEntityPtr e); + IfcReference (IfcAbstractEntity* e); IfcReference (boost::optional< IfcIdentifier > v1_TypeIdentifier, boost::optional< IfcIdentifier > v2_AttributeIdentifier, boost::optional< IfcLabel > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference); - typedef IfcReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReference > > list; - typedef IfcTemplatedEntityList< IfcReference >::it it; + typedef IfcTemplatedEntityList< IfcReference > list; }; /// Definition from ISO/CD 10303-43:1992: A /// representation is one or more representation items that are @@ -10177,37 +10029,35 @@ public: class IfcRepresentation : public IfcUtil::IfcBaseEntity { public: /// Definition of the representation context for which the different subtypes of representation are valid. - IfcRepresentationContext* ContextOfItems(); + IfcRepresentationContext* ContextOfItems() const; void setContextOfItems(IfcRepresentationContext* v); /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation - bool hasRepresentationIdentifier(); + bool hasRepresentationIdentifier() const; /// The optional identifier of the representation as used within a project. - IfcLabel RepresentationIdentifier(); + IfcLabel RepresentationIdentifier() const; void setRepresentationIdentifier(IfcLabel v); /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation - bool hasRepresentationType(); + bool hasRepresentationType() const; /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - IfcLabel RepresentationType(); + IfcLabel RepresentationType() const; void setRepresentationType(IfcLabel v); /// Set of geometric representation items that are defined for this representation. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > Items(); - void setItems(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v); + IfcTemplatedEntityList< IfcRepresentationItem >::ptr Items() const; + void setItems(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextOfItems"; case 1: return "RepresentationIdentifier"; case 2: return "RepresentationType"; case 3: return "Items"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > RepresentationMap(); // INVERSE IfcRepresentationMap::MappedRepresentation - SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > LayerAssignments(); // INVERSE IfcPresentationLayerAssignment::AssignedItems - SHARED_PTR< IfcTemplatedEntityList< IfcProductRepresentation > > OfProductRepresentation(); // INVERSE IfcProductRepresentation::Representations + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMap() const; // INVERSE IfcRepresentationMap::MappedRepresentation + IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignments() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems + IfcTemplatedEntityList< IfcProductRepresentation >::ptr OfProductRepresentation() const; // INVERSE IfcProductRepresentation::Representations bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentation (IfcAbstractEntityPtr e); - IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > list; - typedef IfcTemplatedEntityList< IfcRepresentation >::it it; + IfcRepresentation (IfcAbstractEntity* e); + IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcRepresentation > list; }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. /// @@ -10222,28 +10072,26 @@ public: class IfcRepresentationContext : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext - bool hasContextIdentifier(); + bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - IfcLabel ContextIdentifier(); + IfcLabel ContextIdentifier() const; void setContextIdentifier(IfcLabel v); /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext - bool hasContextType(); + bool hasContextType() const; /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - IfcLabel ContextType(); + IfcLabel ContextType() const; void setContextType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextIdentifier"; case 1: return "ContextType"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > RepresentationsInContext(); // INVERSE IfcRepresentation::ContextOfItems + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRepresentation >::ptr RepresentationsInContext() const; // INVERSE IfcRepresentation::ContextOfItems bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentationContext (IfcAbstractEntityPtr e); + IfcRepresentationContext (IfcAbstractEntity* e); IfcRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType); - typedef IfcRepresentationContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > list; - typedef IfcTemplatedEntityList< IfcRepresentationContext >::it it; + typedef IfcTemplatedEntityList< IfcRepresentationContext > list; }; /// Definition from ISO/CD /// 10303-43:1992: A representation item is an element of @@ -10282,17 +10130,15 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPresentationLayerAssignment > > LayerAssignment(); // INVERSE IfcPresentationLayerAssignment::AssignedItems - SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > StyledByItem(); // INVERSE IfcStyledItem::Item + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPresentationLayerAssignment >::ptr LayerAssignment() const; // INVERSE IfcPresentationLayerAssignment::AssignedItems + IfcTemplatedEntityList< IfcStyledItem >::ptr StyledByItem() const; // INVERSE IfcStyledItem::Item bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentationItem (IfcAbstractEntityPtr e); + IfcRepresentationItem (IfcAbstractEntity* e); IfcRepresentationItem (); - typedef IfcRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > list; - typedef IfcTemplatedEntityList< IfcRepresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcRepresentationItem > list; }; /// Definition from ISO/CD 10303-43:1992: A representation map is the identification of a representation and a representation item in that representation for the purpose of mapping. The representation item defines the origin of the mapping. The representation map is used as the source of a mapping by a mapped item. /// @@ -10309,25 +10155,23 @@ class IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. - IfcAxis2Placement MappingOrigin(); + IfcAxis2Placement MappingOrigin() const; void setMappingOrigin(IfcAxis2Placement v); /// A representation that is mapped to at least one mapped item. - IfcRepresentation* MappedRepresentation(); + IfcRepresentation* MappedRepresentation() const; void setMappedRepresentation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappingOrigin"; case 1: return "MappedRepresentation"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > HasShapeAspects(); // INVERSE IfcShapeAspect::PartOfProductDefinitionShape - SHARED_PTR< IfcTemplatedEntityList< IfcMappedItem > > MapUsage(); // INVERSE IfcMappedItem::MappingSource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape + IfcTemplatedEntityList< IfcMappedItem >::ptr MapUsage() const; // INVERSE IfcMappedItem::MappingSource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRepresentationMap (IfcAbstractEntityPtr e); + IfcRepresentationMap (IfcAbstractEntity* e); IfcRepresentationMap (IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation); - typedef IfcRepresentationMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > list; - typedef IfcTemplatedEntityList< IfcRepresentationMap >::it it; + typedef IfcTemplatedEntityList< IfcRepresentationMap > list; }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. /// @@ -10335,27 +10179,25 @@ public: class IfcResourceLevelRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcResourceLevelRelationship - bool hasName(); + bool hasName() const; /// A name used to identify or qualify the relationship. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcResourceLevelRelationship - bool hasDescription(); + bool hasDescription() const; /// A description that may apply additional information about the relationship. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcResourceLevelRelationship (IfcAbstractEntityPtr e); + IfcResourceLevelRelationship (IfcAbstractEntity* e); IfcResourceLevelRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcResourceLevelRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcResourceLevelRelationship > > list; - typedef IfcTemplatedEntityList< IfcResourceLevelRelationship >::it it; + typedef IfcTemplatedEntityList< IfcResourceLevelRelationship > list; }; /// IfcRoot is the most abstract and root class for all IFC entity definitions that roots in the kernel or in subsequent layers of the IFC object model. It is therefore the common supertype of all IFC entities, beside those defined in an IFC resource schema. All entities that are subtypes of IfcRoot can be used independently, whereas resource schema entities, that are not subtypes of IfcRoot, are not supposed to be independent entities. /// @@ -10369,39 +10211,37 @@ public: class IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. - IfcGloballyUniqueId GlobalId(); + IfcGloballyUniqueId GlobalId() const; void setGlobalId(IfcGloballyUniqueId v); /// Whether the optional attribute OwnerHistory is defined for this IfcRoot - bool hasOwnerHistory(); + bool hasOwnerHistory() const; /// Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, /// /// 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(); + IfcOwnerHistory* OwnerHistory() const; void setOwnerHistory(IfcOwnerHistory* v); /// Whether the optional attribute Name is defined for this IfcRoot - bool hasName(); + bool hasName() const; /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcRoot - bool hasDescription(); + bool hasDescription() const; /// Optional description, provided for exchanging informative comments. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "GlobalId"; case 1: return "OwnerHistory"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoot (IfcAbstractEntityPtr e); + IfcRoot (IfcAbstractEntity* e); IfcRoot (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRoot* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoot > > list; - typedef IfcTemplatedEntityList< IfcRoot >::it it; + 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). /// @@ -10413,27 +10253,25 @@ public: class IfcSIUnit : public IfcNamedUnit { public: /// Whether the optional attribute Prefix is defined for this IfcSIUnit - bool hasPrefix(); + bool hasPrefix() const; /// The SI Prefix for defining decimal multiples and submultiples of the unit. - IfcSIPrefix::IfcSIPrefix Prefix(); + IfcSIPrefix::IfcSIPrefix Prefix() const; void setPrefix(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(); + IfcSIUnitName::IfcSIUnitName Name() const; void setName(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Prefix"; case 3: return "Name"; } return IfcNamedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSIUnit (IfcAbstractEntityPtr e); + IfcSIUnit (IfcAbstractEntity* e); IfcSIUnit (IfcUnitEnum::IfcUnitEnum v2_UnitType, boost::optional< IfcSIPrefix::IfcSIPrefix > v3_Prefix, IfcSIUnitName::IfcSIUnitName v4_Name); - typedef IfcSIUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSIUnit > > list; - typedef IfcTemplatedEntityList< IfcSIUnit >::it it; + typedef IfcTemplatedEntityList< IfcSIUnit > list; }; /// IfcSchedulingTime is the abstract supertype of entities that capture time-related information of processes. /// @@ -10441,33 +10279,31 @@ public: class IfcSchedulingTime : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcSchedulingTime - bool hasName(); + bool hasName() const; /// Optional name for the time definition. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute DataOrigin is defined for this IfcSchedulingTime - bool hasDataOrigin(); + bool hasDataOrigin() const; /// Specifies the origin of the scheduling time entity. It currently /// differentiates between predicted, simulated, measured, and user defined values. - IfcDataOriginEnum::IfcDataOriginEnum DataOrigin(); + IfcDataOriginEnum::IfcDataOriginEnum DataOrigin() const; void setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcSchedulingTime - bool hasUserDefinedDataOrigin(); + bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - IfcLabel UserDefinedDataOrigin(); + IfcLabel UserDefinedDataOrigin() const; void setUserDefinedDataOrigin(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "DataOrigin"; case 2: return "UserDefinedDataOrigin"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSchedulingTime (IfcAbstractEntityPtr e); + IfcSchedulingTime (IfcAbstractEntity* e); IfcSchedulingTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin); - typedef IfcSchedulingTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSchedulingTime > > list; - typedef IfcTemplatedEntityList< IfcSchedulingTime >::it it; + typedef IfcTemplatedEntityList< IfcSchedulingTime > list; }; /// Definition from ISO/CD 10303-41:1992: The shape /// aspect is an identifiable element of the shape of a @@ -10510,41 +10346,39 @@ class IfcShapeAspect : public IfcUtil::IfcBaseEntity { public: /// List of shape representations. Each member defines a valid representation of a particular type within a particular representation context as being an aspect (or part) of a product definition. /// IFC2x Edition 3 CHANGE  The data type has been changed from IfcShapeRepresentation to IfcShapeModel with upward compatibility - SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > ShapeRepresentations(); - void setShapeRepresentations(SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v); + IfcTemplatedEntityList< IfcShapeModel >::ptr ShapeRepresentations() const; + void setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v); /// Whether the optional attribute Name is defined for this IfcShapeAspect - bool hasName(); + bool hasName() const; /// The word or group of words by which the shape aspect is known. It is a tag to indicate the particular semantic of a component within the product definition shape, used to provide meaning. Example: use the tag "Glazing" to define which component of a window shape defines the glazing area. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcShapeAspect - bool hasDescription(); + bool hasDescription() const; /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText 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(); + bool ProductDefinitional() const; void setProductDefinitional(bool v); /// Whether the optional attribute PartOfProductDefinitionShape is defined for this IfcShapeAspect - bool hasPartOfProductDefinitionShape(); + bool hasPartOfProductDefinitionShape() const; /// Reference to the product definition shape of which this class is an aspect. - IfcProductRepresentationSelect PartOfProductDefinitionShape(); + IfcProductRepresentationSelect PartOfProductDefinitionShape() const; void setPartOfProductDefinitionShape(IfcProductRepresentationSelect v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ShapeRepresentations"; case 1: return "Name"; case 2: return "Description"; case 3: return "ProductDefinitional"; case 4: return "PartOfProductDefinitionShape"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShapeAspect (IfcAbstractEntityPtr e); - IfcShapeAspect (SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect > v5_PartOfProductDefinitionShape); - typedef IfcShapeAspect* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > list; - typedef IfcTemplatedEntityList< IfcShapeAspect >::it it; + IfcShapeAspect (IfcAbstractEntity* e); + IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect > v5_PartOfProductDefinitionShape); + typedef IfcTemplatedEntityList< IfcShapeAspect > list; }; /// IfcShapeModel represents /// the concept of a particular geometric and/or topological @@ -10569,16 +10403,14 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > OfShapeAspect(); // INVERSE IfcShapeAspect::ShapeRepresentations + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcShapeAspect >::ptr OfShapeAspect() const; // INVERSE IfcShapeAspect::ShapeRepresentations bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShapeModel (IfcAbstractEntityPtr e); - IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcShapeModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeModel > > list; - typedef IfcTemplatedEntityList< IfcShapeModel >::it it; + IfcShapeModel (IfcAbstractEntity* e); + IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcShapeModel > list; }; /// The IfcShapeRepresentation represents the concept of a /// particular geometric representation of a product or a product @@ -10720,15 +10552,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcShapeModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShapeRepresentation (IfcAbstractEntityPtr e); - IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcShapeRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShapeRepresentation > > list; - typedef IfcTemplatedEntityList< IfcShapeRepresentation >::it it; + IfcShapeRepresentation (IfcAbstractEntity* e); + IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcShapeRepresentation > list; }; /// Definition from IAI: Describe more rarely needed connection properties. /// @@ -10736,22 +10566,20 @@ public: class IfcStructuralConnectionCondition : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition - bool hasName(); + bool hasName() const; /// Optionally defines a name for this connection condition. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralConnectionCondition (IfcAbstractEntityPtr e); + IfcStructuralConnectionCondition (IfcAbstractEntity* e); IfcStructuralConnectionCondition (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralConnectionCondition > > list; - typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition >::it it; + typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition > list; }; /// Definition from IAI: The abstract entity IfcStructuralLoadOrResult is the supertype of all loads (actions or reactions) or of certain requirements resulting from structural analysis, or certain provisions which influence structural analysis. /// @@ -10759,22 +10587,20 @@ public: class IfcStructuralLoad : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcStructuralLoad - bool hasName(); + bool hasName() const; /// Optionally defines a name for this load. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoad (IfcAbstractEntityPtr e); + IfcStructuralLoad (IfcAbstractEntity* e); IfcStructuralLoad (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralLoad* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoad > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoad >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoad > list; }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. /// @@ -10790,23 +10616,21 @@ public: class IfcStructuralLoadConfiguration : public IfcStructuralLoad { public: /// List of load or result values. - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > Values(); - void setValues(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > v); + IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr Values() const; + void setValues(IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v); /// Whether the optional attribute Locations is defined for this IfcStructuralLoadConfiguration - bool hasLocations(); + bool hasLocations() const; /// 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); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Values"; case 2: return "Locations"; } return IfcStructuralLoad::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadConfiguration (IfcAbstractEntityPtr e); - IfcStructuralLoadConfiguration (boost::optional< IfcLabel > v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > v2_Values); - typedef IfcStructuralLoadConfiguration* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadConfiguration > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadConfiguration >::it it; + IfcStructuralLoadConfiguration (IfcAbstractEntity* e); + IfcStructuralLoadConfiguration (boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v2_Values); + typedef IfcTemplatedEntityList< IfcStructuralLoadConfiguration > list; }; /// Definition from IAI: Abstract superclass of simple load or result classes. /// @@ -10816,15 +10640,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralLoad::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralLoad::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadOrResult (IfcAbstractEntityPtr e); + IfcStructuralLoadOrResult (IfcAbstractEntity* e); IfcStructuralLoadOrResult (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralLoadOrResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadOrResult > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadOrResult >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadOrResult > list; }; /// Definition from IAI: The abstract entity IfcStructuralLoadStatic is the supertype of all static loads (actions or reactions) which can be defined. Within scope are single i.e. concentrated forces and moments, linear i.e. one-dimensionally distributed forces and moments, planar i.e. two-dimensionally distributed forces, furthermore displacements and temperature loads. /// @@ -10834,15 +10656,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralLoadOrResult::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralLoadOrResult::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadStatic (IfcAbstractEntityPtr e); + IfcStructuralLoadStatic (IfcAbstractEntity* e); IfcStructuralLoadStatic (boost::optional< IfcLabel > v1_Name); - typedef IfcStructuralLoadStatic* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadStatic > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadStatic >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadStatic > list; }; /// An instance of the entity IfcStructuralLoadTemperature shall be used to define actions which are caused by a temperature change. As shown in Figure 332, the change of temperature is given with a constant value which is applied to the complete section and values for temperature differences between outer fibres of the section. /// @@ -10852,38 +10672,36 @@ public: class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DeltaTConstant is defined for this IfcStructuralLoadTemperature - bool hasDeltaTConstant(); + 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. - IfcThermodynamicTemperatureMeasure DeltaTConstant(); + IfcThermodynamicTemperatureMeasure DeltaTConstant() const; void setDeltaTConstant(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute DeltaTY is defined for this IfcStructuralLoadTemperature - bool hasDeltaTY(); + bool hasDeltaTY() const; /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive y direction minus the temperature change at the outer fibre of the negative y direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in y induces a negative curvature of the member about z, or a positive bending moment about z if there are respective restraints. y and z are local member axes. - IfcThermodynamicTemperatureMeasure DeltaTY(); + IfcThermodynamicTemperatureMeasure DeltaTY() const; void setDeltaTY(IfcThermodynamicTemperatureMeasure v); /// Whether the optional attribute DeltaTZ is defined for this IfcStructuralLoadTemperature - bool hasDeltaTZ(); + bool hasDeltaTZ() const; /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive z direction minus the temperature change at the outer fibre of the negative z direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in z induces a positive curvature of the member about y, or a negative bending moment about y if there are respective restraints. y and z are local member axes. - IfcThermodynamicTemperatureMeasure DeltaTZ(); + IfcThermodynamicTemperatureMeasure DeltaTZ() const; void setDeltaTZ(IfcThermodynamicTemperatureMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DeltaTConstant"; case 2: return "DeltaTY"; case 3: return "DeltaTZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadTemperature (IfcAbstractEntityPtr e); + IfcStructuralLoadTemperature (IfcAbstractEntity* e); IfcStructuralLoadTemperature (boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaTConstant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaTY, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaTZ); - typedef IfcStructuralLoadTemperature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadTemperature > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature > list; }; /// IfcStyleModel represents the concept of a particular presentation style defined for a material (or other characteristic) of a product or a product component within a representation context. This representation context may (but has not to be) a geometric representation context. /// @@ -10895,15 +10713,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStyleModel (IfcAbstractEntityPtr e); - IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcStyleModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyleModel > > list; - typedef IfcTemplatedEntityList< IfcStyleModel >::it it; + IfcStyleModel (IfcAbstractEntity* e); + IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcStyleModel > list; }; /// Definition from ISO/CD 10303-46:1992: The styled item is an assignment of style for presentation to a geometric representation item as it is used in a representation. /// @@ -10936,11 +10752,11 @@ public: class IfcStyledItem : public IfcRepresentationItem { public: /// Whether the optional attribute Item is defined for this IfcStyledItem - bool hasItem(); + 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(); + IfcRepresentationItem* Item() const; void setItem(IfcRepresentationItem* v); /// Representation styles which are assigned, either to an geometric representation item, or to a material definition. /// @@ -10948,25 +10764,23 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Styles(); - void setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; + void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Name is defined for this IfcStyledItem - bool hasName(); + bool hasName() const; /// The word, or group of words, by which the styled item is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Item"; case 1: return "Styles"; case 2: return "Name"; } return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStyledItem (IfcAbstractEntityPtr e); - IfcStyledItem (IfcRepresentationItem* v1_Item, IfcEntities v2_Styles, boost::optional< IfcLabel > v3_Name); - typedef IfcStyledItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > list; - typedef IfcTemplatedEntityList< IfcStyledItem >::it it; + IfcStyledItem (IfcAbstractEntity* e); + IfcStyledItem (IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< IfcLabel > 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. /// @@ -10980,15 +10794,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStyleModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStyleModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStyledRepresentation (IfcAbstractEntityPtr e); - IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcStyledRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStyledRepresentation > > list; - typedef IfcTemplatedEntityList< IfcStyledRepresentation >::it it; + IfcStyledRepresentation (IfcAbstractEntity* e); + IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcStyledRepresentation > list; }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. /// @@ -10998,32 +10810,30 @@ public: class IfcSurfaceReinforcementArea : public IfcStructuralLoadOrResult { public: /// Whether the optional attribute SurfaceReinforcement1 is defined for this IfcSurfaceReinforcementArea - bool hasSurfaceReinforcement1(); + bool hasSurfaceReinforcement1() const; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< IfcLengthMeasure > /*[2:3]*/ SurfaceReinforcement1(); + std::vector< IfcLengthMeasure > /*[2:3]*/ SurfaceReinforcement1() const; void setSurfaceReinforcement1(std::vector< IfcLengthMeasure > /*[2:3]*/ v); /// Whether the optional attribute SurfaceReinforcement2 is defined for this IfcSurfaceReinforcementArea - bool hasSurfaceReinforcement2(); + bool hasSurfaceReinforcement2() const; /// Reinforcement at the face of the member which is located at the side of the negative local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< IfcLengthMeasure > /*[2:3]*/ SurfaceReinforcement2(); + std::vector< IfcLengthMeasure > /*[2:3]*/ SurfaceReinforcement2() const; void setSurfaceReinforcement2(std::vector< IfcLengthMeasure > /*[2:3]*/ v); /// Whether the optional attribute ShearReinforcement is defined for this IfcSurfaceReinforcementArea - bool hasShearReinforcement(); + bool hasShearReinforcement() const; /// Shear reinforcement. Specified as area per area, e.g. square metre per square metre (hence ratio measure, i.e. unitless). - IfcRatioMeasure ShearReinforcement(); + IfcRatioMeasure ShearReinforcement() const; void setShearReinforcement(IfcRatioMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadOrResult::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SurfaceReinforcement1"; case 2: return "SurfaceReinforcement2"; case 3: return "ShearReinforcement"; } return IfcStructuralLoadOrResult::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceReinforcementArea (IfcAbstractEntityPtr e); + IfcSurfaceReinforcementArea (IfcAbstractEntity* e); IfcSurfaceReinforcementArea (boost::optional< IfcLabel > v1_Name, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< IfcRatioMeasure > v4_ShearReinforcement); - typedef IfcSurfaceReinforcementArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceReinforcementArea > > list; - typedef IfcTemplatedEntityList< IfcSurfaceReinforcementArea >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceReinforcementArea > list; }; /// IfcSurfaceStyle is an assignment of one or many surface style elements to a surface, defined by subtypes of IfcSurface, IfcFaceBasedSurfaceModel, IfcShellBasedSurfaceModel, or by subtypes of IfcSolidModel. The positive direction of the surface normal relates to the positive side. In case of solids the outside of the solid is to be taken as positive side. /// @@ -11035,23 +10845,21 @@ public: class IfcSurfaceStyle : public IfcPresentationStyle { public: /// An indication of which side of the surface to apply the style. - IfcSurfaceSide::IfcSurfaceSide Side(); + IfcSurfaceSide::IfcSurfaceSide Side() const; void setSide(IfcSurfaceSide::IfcSurfaceSide v); /// A collection of different surface styles. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Styles(); - void setStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; + void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENTITY_LIST; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Side"; case 2: return "Styles"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyle (IfcAbstractEntityPtr e); - IfcSurfaceStyle (boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntities v3_Styles); - typedef IfcSurfaceStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyle > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyle >::it it; + IfcSurfaceStyle (IfcAbstractEntity* e); + IfcSurfaceStyle (boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles); + typedef IfcTemplatedEntityList< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. /// @@ -11068,32 +10876,30 @@ class IfcSurfaceStyleLighting : public IfcPresentationItem { 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(); + IfcColourRgb* DiffuseTransmissionColour() const; void setDiffuseTransmissionColour(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(); + IfcColourRgb* DiffuseReflectionColour() const; void setDiffuseReflectionColour(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(); + IfcColourRgb* TransmissionColour() const; void setTransmissionColour(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(); + IfcColourRgb* ReflectanceColour() const; void setReflectanceColour(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DiffuseTransmissionColour"; case 1: return "DiffuseReflectionColour"; case 2: return "TransmissionColour"; case 3: return "ReflectanceColour"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleLighting (IfcAbstractEntityPtr e); + IfcSurfaceStyleLighting (IfcAbstractEntity* e); IfcSurfaceStyleLighting (IfcColourRgb* v1_DiffuseTransmissionColour, IfcColourRgb* v2_DiffuseReflectionColour, IfcColourRgb* v3_TransmissionColour, IfcColourRgb* v4_ReflectanceColour); - typedef IfcSurfaceStyleLighting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleLighting > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleLighting >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleLighting > list; }; /// IfcSurfaceStyleRefraction extends the surface style lighting, or the surface style rendering definition for properties for calculation of physically exact illuminance by adding seldomly used properties. Currently this includes the refraction index (by which the light ray refracts when passing through a prism) and the dispersion factor (or Abbe constant) which takes into account the wavelength dependency of the refraction. /// @@ -11103,27 +10909,25 @@ public: class IfcSurfaceStyleRefraction : public IfcPresentationItem { public: /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction - bool hasRefractionIndex(); + bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - IfcReal RefractionIndex(); + IfcReal RefractionIndex() const; void setRefractionIndex(IfcReal v); /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction - bool hasDispersionFactor(); + bool hasDispersionFactor() const; /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - IfcReal DispersionFactor(); + IfcReal DispersionFactor() const; void setDispersionFactor(IfcReal v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RefractionIndex"; case 1: return "DispersionFactor"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleRefraction (IfcAbstractEntityPtr e); + IfcSurfaceStyleRefraction (IfcAbstractEntity* e); IfcSurfaceStyleRefraction (boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor); - typedef IfcSurfaceStyleRefraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleRefraction > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style rendering allows the realistic visualization of surfaces referring to rendering techniques based on the laws of physics and mathematics. /// @@ -11135,20 +10939,18 @@ public: 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(); + IfcColourRgb* SurfaceColour() const; void setSurfaceColour(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SurfaceColour"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleShading (IfcAbstractEntityPtr e); + IfcSurfaceStyleShading (IfcAbstractEntity* e); IfcSurfaceStyleShading (IfcColourRgb* v1_SurfaceColour); - typedef IfcSurfaceStyleShading* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleShading > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleShading >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleShading > list; }; /// The entity IfcSurfaceStyleWithTextures allows to include image textures in surface styles. These image textures can be applied repeating across the surface or mapped with a particular scale upon the surface. /// @@ -11171,20 +10973,18 @@ public: 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. - SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > Textures(); - void setTextures(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v); + IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Textures() const; + void setTextures(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Textures"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleWithTextures (IfcAbstractEntityPtr e); - IfcSurfaceStyleWithTextures (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Textures); - typedef IfcSurfaceStyleWithTextures* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleWithTextures >::it it; + IfcSurfaceStyleWithTextures (IfcAbstractEntity* e); + IfcSurfaceStyleWithTextures (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Textures); + typedef IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > list; }; /// An IfcSurfaceTexture provides a 2-dimensional /// image-based texture map. It can either be given by referencing an @@ -11281,51 +11081,49 @@ public: 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(); + bool RepeatS() const; void setRepeatS(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(); + bool RepeatT() const; void setRepeatT(bool v); /// Whether the optional attribute Mode is defined for this IfcSurfaceTexture - bool hasMode(); + bool hasMode() const; /// 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. - IfcIdentifier Mode(); + IfcIdentifier Mode() const; void setMode(IfcIdentifier v); /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture - bool hasTextureTransform(); + bool hasTextureTransform() const; /// The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. /// /// Mirroring is not allowed to be used in the IfcCarteesianTransformationOperator - IfcCartesianTransformationOperator2D* TextureTransform(); + IfcCartesianTransformationOperator2D* TextureTransform() const; void setTextureTransform(IfcCartesianTransformationOperator2D* v); /// Whether the optional attribute Parameter is defined for this IfcSurfaceTexture - bool hasParameter(); + bool hasParameter() const; /// 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< IfcIdentifier > /*[1:?]*/ Parameter(); + std::vector< IfcIdentifier > /*[1:?]*/ Parameter() const; void setParameter(std::vector< IfcIdentifier > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_BOOL; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_VECTOR_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RepeatS"; case 1: return "RepeatT"; case 2: return "Mode"; case 3: return "TextureTransform"; case 4: return "Parameter"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinate > > IsMappedBy(); // INVERSE IfcTextureCoordinate::Maps - SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleWithTextures > > UsedInStyles(); // INVERSE IfcSurfaceStyleWithTextures::Textures + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTextureCoordinate >::ptr IsMappedBy() const; // INVERSE IfcTextureCoordinate::Maps + IfcTemplatedEntityList< IfcSurfaceStyleWithTextures >::ptr UsedInStyles() const; // INVERSE IfcSurfaceStyleWithTextures::Textures bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceTexture (IfcAbstractEntityPtr e); + IfcSurfaceTexture (IfcAbstractEntity* e); IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter); - typedef IfcSurfaceTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > list; - typedef IfcTemplatedEntityList< IfcSurfaceTexture >::it it; + 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. /// @@ -11345,32 +11143,30 @@ public: class IfcTable : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcTable - bool hasName(); + bool hasName() const; /// A unique name which is intended to describe the usage of the Table. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Rows is defined for this IfcTable - bool hasRows(); + bool hasRows() const; /// Reference to information content of rows. - SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > Rows(); - void setRows(SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > v); + IfcTemplatedEntityList< IfcTableRow >::ptr Rows() const; + void setRows(IfcTemplatedEntityList< IfcTableRow >::ptr v); /// Whether the optional attribute Columns is defined for this IfcTable - bool hasColumns(); + bool hasColumns() const; /// The column information associated with this table. - SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > Columns(); - void setColumns(SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > v); + IfcTemplatedEntityList< IfcTableColumn >::ptr Columns() const; + void setColumns(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Rows"; case 2: return "Columns"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTable (IfcAbstractEntityPtr e); - IfcTable (boost::optional< IfcLabel > v1_Name, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > > v2_Rows, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > > v3_Columns); - typedef IfcTable* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTable > > list; - typedef IfcTemplatedEntityList< IfcTable >::it it; + IfcTable (IfcAbstractEntity* e); + IfcTable (boost::optional< IfcLabel > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns); + typedef IfcTemplatedEntityList< IfcTable > list; }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. /// @@ -11380,41 +11176,39 @@ public: class IfcTableColumn : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Identifier is defined for this IfcTableColumn - bool hasIdentifier(); + bool hasIdentifier() const; /// Table column identifier. - IfcIdentifier Identifier(); + IfcIdentifier Identifier() const; void setIdentifier(IfcIdentifier v); /// Whether the optional attribute Name is defined for this IfcTableColumn - bool hasName(); + bool hasName() const; /// The table column display name. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcTableColumn - bool hasDescription(); + bool hasDescription() const; /// Descriptive text for the table column. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Unit is defined for this IfcTableColumn - bool hasUnit(); + bool hasUnit() const; /// The unit of measure to be used for this column's data. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); /// Whether the optional attribute ReferencePath is defined for this IfcTableColumn - bool hasReferencePath(); - IfcReference* ReferencePath(); + bool hasReferencePath() const; + IfcReference* ReferencePath() const; void setReferencePath(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Identifier"; case 1: return "Name"; case 2: return "Description"; case 3: return "Unit"; case 4: return "ReferencePath"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTableColumn (IfcAbstractEntityPtr e); + IfcTableColumn (IfcAbstractEntity* e); IfcTableColumn (boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcUnit > v4_Unit, IfcReference* v5_ReferencePath); - typedef IfcTableColumn* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTableColumn > > list; - typedef IfcTemplatedEntityList< IfcTableColumn >::it it; + typedef IfcTemplatedEntityList< IfcTableColumn > list; }; /// IfcTableRow contains data for a single row within an IfcTable. /// @@ -11432,28 +11226,26 @@ public: class IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute RowCells is defined for this IfcTableRow - bool hasRowCells(); + bool hasRowCells() const; /// The data value of the table cell.. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RowCells(); - void setRowCells(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RowCells() const; + void setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute IsHeading is defined for this IfcTableRow - bool hasIsHeading(); + bool hasIsHeading() const; /// Flag which identifies if the row is a heading row or a row which contains row values. NOTE - If the row is a heading, the flag takes the value = TRUE. - bool IsHeading(); + bool IsHeading() const; void setIsHeading(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RowCells"; case 1: return "IsHeading"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTable > > OfTable(); // INVERSE IfcTable::Rows + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTable >::ptr OfTable() const; // INVERSE IfcTable::Rows bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTableRow (IfcAbstractEntityPtr e); - IfcTableRow (boost::optional< IfcEntities > v1_RowCells, boost::optional< bool > v2_IsHeading); - typedef IfcTableRow* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTableRow > > list; - typedef IfcTemplatedEntityList< IfcTableRow >::it it; + IfcTableRow (IfcAbstractEntity* e); + IfcTableRow (boost::optional< IfcEntityList::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading); + typedef IfcTemplatedEntityList< IfcTableRow > list; }; /// IfcTaskTime captures the time-related information about a task including the different types (actual or scheduled) of starting and ending times. /// @@ -11466,13 +11258,13 @@ public: class IfcTaskTime : public IfcSchedulingTime { public: /// Whether the optional attribute DurationType is defined for this IfcTaskTime - bool hasDurationType(); + 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(); + IfcTaskDurationEnum::IfcTaskDurationEnum DurationType() const; void setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v); /// Whether the optional attribute ScheduleDuration is defined for this IfcTaskTime - bool hasScheduleDuration(); + bool hasScheduleDuration() const; /// The amount of time which is scheduled for completion of a /// task. /// The value might be measured or somehow calculated, which is defined by @@ -11482,57 +11274,57 @@ public: /// /// NOTE: Scheduled Duration may be calculated as the /// time from scheduled start date to scheduled finish date. - IfcDuration ScheduleDuration(); + IfcDuration ScheduleDuration() const; void setScheduleDuration(IfcDuration v); /// Whether the optional attribute ScheduleStart is defined for this IfcTaskTime - bool hasScheduleStart(); + bool hasScheduleStart() const; /// 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. - IfcDateTime ScheduleStart(); + IfcDateTime ScheduleStart() const; void setScheduleStart(IfcDateTime v); /// Whether the optional attribute ScheduleFinish is defined for this IfcTaskTime - bool hasScheduleFinish(); + bool hasScheduleFinish() const; /// 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. - IfcDateTime ScheduleFinish(); + IfcDateTime ScheduleFinish() const; void setScheduleFinish(IfcDateTime v); /// Whether the optional attribute EarlyStart is defined for this IfcTaskTime - bool hasEarlyStart(); + bool hasEarlyStart() const; /// The earliest date on which a task can be started. It is a calculated value. - IfcDateTime EarlyStart(); + IfcDateTime EarlyStart() const; void setEarlyStart(IfcDateTime v); /// Whether the optional attribute EarlyFinish is defined for this IfcTaskTime - bool hasEarlyFinish(); + bool hasEarlyFinish() const; /// The earliest date on which a task can be finished. It is a calculated value. - IfcDateTime EarlyFinish(); + IfcDateTime EarlyFinish() const; void setEarlyFinish(IfcDateTime v); /// Whether the optional attribute LateStart is defined for this IfcTaskTime - bool hasLateStart(); + bool hasLateStart() const; /// The latest date on which a task can be started. It is a calculated value. - IfcDateTime LateStart(); + IfcDateTime LateStart() const; void setLateStart(IfcDateTime v); /// Whether the optional attribute LateFinish is defined for this IfcTaskTime - bool hasLateFinish(); + bool hasLateFinish() const; /// The latest date on which a task can be finished. It is a calculated value. - IfcDateTime LateFinish(); + IfcDateTime LateFinish() const; void setLateFinish(IfcDateTime v); /// Whether the optional attribute FreeFloat is defined for this IfcTaskTime - bool hasFreeFloat(); + bool hasFreeFloat() const; /// The amount of time during which the start or finish of a /// task may be varied without any effect on the overall /// programme of work. It is a calculated elapsed time value. - IfcDuration FreeFloat(); + IfcDuration FreeFloat() const; void setFreeFloat(IfcDuration v); /// Whether the optional attribute TotalFloat is defined for this IfcTaskTime - bool hasTotalFloat(); + bool hasTotalFloat() const; /// 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. @@ -11543,32 +11335,32 @@ public: /// finish. Float time may be either positive, zero or /// negative. Where it is zero or negative, the task becomes /// critical. - IfcDuration TotalFloat(); + IfcDuration TotalFloat() const; void setTotalFloat(IfcDuration v); /// Whether the optional attribute IsCritical is defined for this IfcTaskTime - bool hasIsCritical(); + bool hasIsCritical() const; /// 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(); + bool IsCritical() const; void setIsCritical(bool v); /// Whether the optional attribute StatusTime is defined for this IfcTaskTime - bool hasStatusTime(); + bool hasStatusTime() const; /// The date or time at which the status of the tasks within /// the schedule is analyzed. - IfcDateTime StatusTime(); + IfcDateTime StatusTime() const; void setStatusTime(IfcDateTime v); /// Whether the optional attribute ActualDuration is defined for this IfcTaskTime - bool hasActualDuration(); + bool hasActualDuration() const; /// The actual duration of the task. It is a measured value. /// The value is either given as elapsed time or work time, which is defined by /// DurationType. - IfcDuration ActualDuration(); + IfcDuration ActualDuration() const; void setActualDuration(IfcDuration v); /// Whether the optional attribute ActualStart is defined for this IfcTaskTime - bool hasActualStart(); + bool hasActualStart() const; /// The date on which a task is actually started. It is a measured value. /// /// NOTE: The scheduled start date must be greater than @@ -11576,15 +11368,15 @@ public: /// applied to the actual start date with respect to the /// scheduled start date since a task may be started earlier /// than had originally been scheduled if circumstances allow. - IfcDateTime ActualStart(); + IfcDateTime ActualStart() const; void setActualStart(IfcDateTime v); /// Whether the optional attribute ActualFinish is defined for this IfcTaskTime - bool hasActualFinish(); + bool hasActualFinish() const; /// The date on which a task is actually finished. - IfcDateTime ActualFinish(); + IfcDateTime ActualFinish() const; void setActualFinish(IfcDateTime v); /// Whether the optional attribute RemainingTime is defined for this IfcTaskTime - bool hasRemainingTime(); + bool hasRemainingTime() const; /// 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. @@ -11596,46 +11388,42 @@ public: /// task already started, remaining time is calculated as the /// difference between the scheduled finish and the point of /// analysis. - IfcDuration RemainingTime(); + IfcDuration RemainingTime() const; void setRemainingTime(IfcDuration v); /// Whether the optional attribute Completion is defined for this IfcTaskTime - bool hasCompletion(); + bool hasCompletion() const; /// The extent of completion expressed as a ratio or percentage. /// It is a measured value. - IfcPositiveRatioMeasure Completion(); + IfcPositiveRatioMeasure Completion() const; void setCompletion(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_BOOL; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_STRING; case 17: return IfcUtil::Argument_STRING; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "DurationType"; case 4: return "ScheduleDuration"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "EarlyStart"; case 8: return "EarlyFinish"; case 9: return "LateStart"; case 10: return "LateFinish"; case 11: return "FreeFloat"; case 12: return "TotalFloat"; case 13: return "IsCritical"; case 14: return "StatusTime"; case 15: return "ActualDuration"; case 16: return "ActualStart"; case 17: return "ActualFinish"; case 18: return "RemainingTime"; case 19: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTaskTime (IfcAbstractEntityPtr e); + IfcTaskTime (IfcAbstractEntity* e); IfcTaskTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion); - typedef IfcTaskTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTaskTime > > list; - typedef IfcTemplatedEntityList< IfcTaskTime >::it it; + typedef IfcTemplatedEntityList< IfcTaskTime > list; }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. /// /// HISTORY: New entity in IFC2x4. class IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcRecurrencePattern* Recurrance(); + IfcRecurrencePattern* Recurrance() const; void setRecurrance(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 20: return "Recurrance"; } return IfcTaskTime::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTaskTimeRecurring (IfcAbstractEntityPtr e); + IfcTaskTimeRecurring (IfcAbstractEntity* e); IfcTaskTimeRecurring (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion, IfcRecurrencePattern* v21_Recurrance); - typedef IfcTaskTimeRecurring* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTaskTimeRecurring > > list; - typedef IfcTemplatedEntityList< IfcTaskTimeRecurring >::it it; + typedef IfcTemplatedEntityList< IfcTaskTimeRecurring > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. /// @@ -11646,50 +11434,48 @@ public: class IfcTelecomAddress : public IfcAddress { public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress - bool hasTelephoneNumbers(); + bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers(); + std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers() const; void setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress - bool hasFacsimileNumbers(); + bool hasFacsimileNumbers() const; /// The list of fax numbers at which fax messages may be received. - std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers(); + std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers() const; void setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress - bool hasPagerNumber(); + bool hasPagerNumber() const; /// The pager number at which paging messages may be received. - IfcLabel PagerNumber(); + IfcLabel PagerNumber() const; void setPagerNumber(IfcLabel v); /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress - bool hasElectronicMailAddresses(); + bool hasElectronicMailAddresses() const; /// The list of Email addresses at which Email messages may be received. - std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses(); + std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses() const; void setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v); /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress - bool hasWWWHomePageURL(); + bool hasWWWHomePageURL() const; /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - IfcURIReference WWWHomePageURL(); + IfcURIReference WWWHomePageURL() const; void setWWWHomePageURL(IfcURIReference v); /// Whether the optional attribute MessagingIDs is defined for this IfcTelecomAddress - bool hasMessagingIDs(); + bool hasMessagingIDs() const; /// IDs or addresses for any other means of telecommunication, for example instant messaging, voice-over-IP, or file transfer protocols. The communication protocol is indicated by the URI value with scheme designations such as irc:, sip:, or ftp:. - std::vector< IfcURIReference > /*[1:?]*/ MessagingIDs(); + std::vector< IfcURIReference > /*[1:?]*/ MessagingIDs() const; void setMessagingIDs(std::vector< IfcURIReference > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_VECTOR_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TelephoneNumbers"; case 4: return "FacsimileNumbers"; case 5: return "PagerNumber"; case 6: return "ElectronicMailAddresses"; case 7: return "WWWHomePageURL"; case 8: return "MessagingIDs"; } return IfcAddress::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTelecomAddress (IfcAbstractEntityPtr e); + IfcTelecomAddress (IfcAbstractEntity* e); IfcTelecomAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcURIReference > v8_WWWHomePageURL, boost::optional< std::vector< IfcURIReference > /*[1:?]*/ > v9_MessagingIDs); - typedef IfcTelecomAddress* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTelecomAddress > > list; - typedef IfcTemplatedEntityList< IfcTelecomAddress >::it it; + typedef IfcTemplatedEntityList< IfcTelecomAddress > list; }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. /// @@ -11722,40 +11508,38 @@ public: class IfcTextStyle : public IfcPresentationStyle { public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle - bool hasTextCharacterAppearance(); + bool hasTextCharacterAppearance() const; /// A character style to be used for presented text. - IfcTextStyleForDefinedFont* TextCharacterAppearance(); + IfcTextStyleForDefinedFont* TextCharacterAppearance() const; void setTextCharacterAppearance(IfcTextStyleForDefinedFont* v); /// Whether the optional attribute TextStyle is defined for this IfcTextStyle - bool hasTextStyle(); + bool hasTextStyle() const; /// The style applied to the text block for its visual appearance. /// It defines the text block characteristics, either for vector based or monospace text fonts (see select item IfcTextStyleWithBoxCharacteristics), or for true type text fonts (see select item IfcTextStyleTextModel. /// /// IFC2x Edition 3 CHANGE  The attribute TextBlockStyle has been changed from SET[1:?] to a non-aggregated optional, it has been renamed from TextStyles. - IfcTextStyleTextModel* TextStyle(); + IfcTextStyleTextModel* TextStyle() const; void setTextStyle(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(); + IfcTextFontSelect TextFontStyle() const; void setTextFontStyle(IfcTextFontSelect v); /// Whether the optional attribute ModelOrDraughting is defined for this IfcTextStyle - bool hasModelOrDraughting(); - bool ModelOrDraughting(); + bool hasModelOrDraughting() const; + bool ModelOrDraughting() const; void setModelOrDraughting(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TextCharacterAppearance"; case 2: return "TextStyle"; case 3: return "TextFontStyle"; case 4: return "ModelOrDraughting"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyle (IfcAbstractEntityPtr e); + IfcTextStyle (IfcAbstractEntity* e); IfcTextStyle (boost::optional< IfcLabel > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting); - typedef IfcTextStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyle > > list; - typedef IfcTemplatedEntityList< IfcTextStyle >::it it; + 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. /// @@ -11777,25 +11561,23 @@ public: class IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). - IfcColour Colour(); + IfcColour Colour() const; void setColour(IfcColour v); /// Whether the optional attribute BackgroundColour is defined for this IfcTextStyleForDefinedFont - bool hasBackgroundColour(); + bool hasBackgroundColour() const; /// This property sets the background color of an element. - IfcColour BackgroundColour(); + IfcColour BackgroundColour() const; void setBackgroundColour(IfcColour v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Colour"; case 1: return "BackgroundColour"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleForDefinedFont (IfcAbstractEntityPtr e); + IfcTextStyleForDefinedFont (IfcAbstractEntity* e); IfcTextStyleForDefinedFont (IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour); - typedef IfcTextStyleForDefinedFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleForDefinedFont > > list; - typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont >::it it; + 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. /// @@ -11807,59 +11589,57 @@ public: class IfcTextStyleTextModel : public IfcPresentationItem { public: /// Whether the optional attribute TextIndent is defined for this IfcTextStyleTextModel - bool hasTextIndent(); + 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(); + IfcSizeSelect TextIndent() const; void setTextIndent(IfcSizeSelect v); /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel - bool hasTextAlign(); + bool hasTextAlign() const; /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - IfcTextAlignment TextAlign(); + IfcTextAlignment TextAlign() const; void setTextAlign(IfcTextAlignment v); /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel - bool hasTextDecoration(); + bool hasTextDecoration() const; /// This property describes decorations that are added to the text of an element. - IfcTextDecoration TextDecoration(); + IfcTextDecoration TextDecoration() const; void setTextDecoration(IfcTextDecoration v); /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel - bool hasLetterSpacing(); + bool hasLetterSpacing() const; /// The length unit indicates an addition to the default space between characters. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The letter spacing may also be influenced by justification (which is a value of the 'align' property). /// NOTE  The following values are allowed, IfcDescriptiveMeasure with value='normal', or IfcLengthMeasure, the length unit is globally defined at IfcUnitAssignment. - IfcSizeSelect LetterSpacing(); + IfcSizeSelect LetterSpacing() const; void setLetterSpacing(IfcSizeSelect v); /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel - bool hasWordSpacing(); + bool hasWordSpacing() const; /// The length unit indicates an addition to the default space between words. Values can be negative, but there may be implementation-specific limits. The user agent is free to select the exact spacing algorithm. The word spacing may also be influenced by justification (which is a value of the 'text-align' property). /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect WordSpacing(); + IfcSizeSelect WordSpacing() const; void setWordSpacing(IfcSizeSelect v); /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel - bool hasTextTransform(); + bool hasTextTransform() const; /// This property describes how text characters may transform to upper case, lower case, or capitalized case, independent of the character case used in the text literal. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcTextTransformation TextTransform(); + IfcTextTransformation TextTransform() const; void setTextTransform(IfcTextTransformation v); /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel - bool hasLineHeight(); + bool hasLineHeight() const; /// The property sets the distance between two adjacent lines' baselines. /// When a ratio value is specified, the line height is given by the font size of the current element multiplied with the numerical value. A value of 'normal' sets the line height to a reasonable value for the element's font. It is suggested that user agents set the 'normal' value to be a ratio number in the range of 1.0 to 1.2. /// NOTE  The following values are allowed: IfcDescriptiveMeasure with value='normal', or /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. - IfcSizeSelect LineHeight(); + IfcSizeSelect LineHeight() const; void setLineHeight(IfcSizeSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextIndent"; case 1: return "TextAlign"; case 2: return "TextDecoration"; case 3: return "LetterSpacing"; case 4: return "WordSpacing"; case 5: return "TextTransform"; case 6: return "LineHeight"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleTextModel (IfcAbstractEntityPtr e); + IfcTextStyleTextModel (IfcAbstractEntity* e); IfcTextStyleTextModel (boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight); - typedef IfcTextStyleTextModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleTextModel > > list; - typedef IfcTemplatedEntityList< IfcTextStyleTextModel >::it it; + 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. /// @@ -11874,20 +11654,18 @@ public: /// IFC2x4 CHANGE  The inverse attribute AnnotatedSurface is deleted, and the inverse AppliesTextures is added. class IfcTextureCoordinate : public IfcPresentationItem { public: - SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > Maps(); - void setMaps(SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v); + IfcTemplatedEntityList< IfcSurfaceTexture >::ptr Maps() const; + void setMaps(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Maps"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureCoordinate (IfcAbstractEntityPtr e); - IfcTextureCoordinate (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps); - typedef IfcTextureCoordinate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinate > > list; - typedef IfcTemplatedEntityList< IfcTextureCoordinate >::it it; + IfcTextureCoordinate (IfcAbstractEntity* e); + IfcTextureCoordinate (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps); + typedef IfcTemplatedEntityList< IfcTextureCoordinate > list; }; /// The IfcTextureCoordinateGenerator describes a procedurally defined mapping function with input parameter to map 2D texture coordinates to 3D geometry vertices. The allowable Mode values and input Parameter need to be agreed upon in view definitions and implementer agreements. /// @@ -11920,27 +11698,25 @@ public: /// The Mode attribute describes the algorithm used to compute texture coordinates. /// /// NOTE  The applicable values for the Mode attribute are determined by view definitions or implementer agreements. It is recommended to use the modes described in ISO/IES 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1. See 18.4.8 TextureCoordinateGenerator for recommended values. - IfcLabel Mode(); + IfcLabel Mode() const; void setMode(IfcLabel v); /// Whether the optional attribute Parameter is defined for this IfcTextureCoordinateGenerator - bool hasParameter(); + bool hasParameter() const; /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - std::vector< IfcReal > /*[1:?]*/ Parameter(); + std::vector< IfcReal > /*[1:?]*/ Parameter() const; void setParameter(std::vector< IfcReal > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcTextureCoordinate::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Mode"; case 2: return "Parameter"; } return IfcTextureCoordinate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureCoordinateGenerator (IfcAbstractEntityPtr e); - IfcTextureCoordinateGenerator (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, IfcLabel v2_Mode, boost::optional< std::vector< IfcReal > /*[1:?]*/ > v3_Parameter); - typedef IfcTextureCoordinateGenerator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureCoordinateGenerator > > list; - typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator >::it it; + IfcTextureCoordinateGenerator (IfcAbstractEntity* e); + IfcTextureCoordinateGenerator (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcLabel v2_Mode, boost::optional< std::vector< IfcReal > /*[1:?]*/ > v3_Parameter); + typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator > list; }; /// An IfcTextureMap provides the mapping of the /// 2-dimensional texture coordinates to the surface onto which it is @@ -11998,22 +11774,20 @@ public: /// List of texture coordinate vertices that are applied to the corresponding points of the polyloop defining a face bound. /// /// NOTE  The corresponding face bound may be an inner loop. - SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > Vertices(); - void setVertices(SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v); - IfcFace* MappedTo(); + IfcTemplatedEntityList< IfcTextureVertex >::ptr Vertices() const; + void setVertices(IfcTemplatedEntityList< IfcTextureVertex >::ptr v); + IfcFace* MappedTo() const; void setMappedTo(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Vertices"; case 2: return "MappedTo"; } return IfcTextureCoordinate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureMap (IfcAbstractEntityPtr e); - IfcTextureMap (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > v2_Vertices, IfcFace* v3_MappedTo); - typedef IfcTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureMap > > list; - typedef IfcTemplatedEntityList< IfcTextureMap >::it it; + IfcTextureMap (IfcAbstractEntity* e); + IfcTextureMap (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTemplatedEntityList< IfcTextureVertex >::ptr v2_Vertices, IfcFace* v3_MappedTo); + typedef IfcTemplatedEntityList< IfcTextureMap > list; }; /// An IfcTextureVertex is a list of 2 (S, T) texture coordinates. /// @@ -12045,20 +11819,18 @@ public: class IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. - std::vector< IfcParameterValue > /*[2:2]*/ Coordinates(); + std::vector< IfcParameterValue > /*[2:2]*/ Coordinates() const; void setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureVertex (IfcAbstractEntityPtr e); + IfcTextureVertex (IfcAbstractEntity* e); IfcTextureVertex (std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates); - typedef IfcTextureVertex* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertex > > list; - typedef IfcTemplatedEntityList< IfcTextureVertex >::it it; + typedef IfcTemplatedEntityList< IfcTextureVertex > list; }; class IfcTextureVertexList : public IfcPresentationItem { @@ -12066,15 +11838,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_UNKNOWN; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TexCoordsList"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextureVertexList (IfcAbstractEntityPtr e); + IfcTextureVertexList (IfcAbstractEntity* e); IfcTextureVertexList (); - typedef IfcTextureVertexList* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextureVertexList > > list; - typedef IfcTemplatedEntityList< IfcTextureVertexList >::it it; + typedef IfcTemplatedEntityList< IfcTextureVertexList > list; }; /// IfcTimePeriod defines a time period given by a start and end time. Both time definitions consider the time zone and allow for the daylight savings offset. /// @@ -12085,23 +11855,21 @@ public: class IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. - IfcTime StartTime(); + IfcTime StartTime() const; void setStartTime(IfcTime v); /// End time of the time period. - IfcTime EndTime(); + IfcTime EndTime() const; void setEndTime(IfcTime v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "StartTime"; case 1: return "EndTime"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimePeriod (IfcAbstractEntityPtr e); + IfcTimePeriod (IfcAbstractEntity* e); IfcTimePeriod (IfcTime v1_StartTime, IfcTime v2_EndTime); - typedef IfcTimePeriod* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimePeriod > > list; - typedef IfcTemplatedEntityList< IfcTimePeriod >::it it; + typedef IfcTemplatedEntityList< IfcTimePeriod > list; }; /// A time series is a set of a time-stamped data entries. It allows a natural association of data collected over intervals of time. Time series can be regular or irregular. In regular time series data arrive predictably at predefined intervals. In irregular time series some or all time stamps do not follow a repetitive pattern and unpredictable bursts of data may arrive at unspecified points in time. /// @@ -12111,48 +11879,46 @@ public: class IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcTimeSeries - bool hasDescription(); + bool hasDescription() const; /// A text description of the data that the series represents. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// The start time of a time series. - IfcDateTime StartTime(); + IfcDateTime StartTime() const; void setStartTime(IfcDateTime v); /// The end time of a time series. - IfcDateTime EndTime(); + IfcDateTime EndTime() const; void setEndTime(IfcDateTime v); /// The time series data type. - IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType(); + IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType() const; void setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); /// The orgin of a time series data. - IfcDataOriginEnum::IfcDataOriginEnum DataOrigin(); + IfcDataOriginEnum::IfcDataOriginEnum DataOrigin() const; void setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v); /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries - bool hasUserDefinedDataOrigin(); + bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - IfcLabel UserDefinedDataOrigin(); + IfcLabel UserDefinedDataOrigin() const; void setUserDefinedDataOrigin(IfcLabel v); /// Whether the optional attribute Unit is defined for this IfcTimeSeries - bool hasUnit(); + bool hasUnit() const; /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "StartTime"; case 3: return "EndTime"; case 4: return "TimeSeriesDataType"; case 5: return "DataOrigin"; case 6: return "UserDefinedDataOrigin"; case 7: return "Unit"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReference(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimeSeries (IfcAbstractEntityPtr e); + IfcTimeSeries (IfcAbstractEntity* e); IfcTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit); - typedef IfcTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeries > > list; - typedef IfcTemplatedEntityList< IfcTimeSeries >::it it; + 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: /// @@ -12166,20 +11932,18 @@ public: class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ListValues(); - void setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; + void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTimeSeriesValue (IfcAbstractEntityPtr e); - IfcTimeSeriesValue (IfcEntities v1_ListValues); - typedef IfcTimeSeriesValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > list; - typedef IfcTemplatedEntityList< IfcTimeSeriesValue >::it it; + IfcTimeSeriesValue (IfcAbstractEntity* e); + IfcTimeSeriesValue (IfcEntityList::ptr v1_ListValues); + typedef IfcTemplatedEntityList< IfcTimeSeriesValue > list; }; /// Definition from ISO/CD 10303-42:1992: The topological representation item is the supertype for all the topological representation items in the geometry resource. /// @@ -12191,15 +11955,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTopologicalRepresentationItem (IfcAbstractEntityPtr e); + IfcTopologicalRepresentationItem (IfcAbstractEntity* e); IfcTopologicalRepresentationItem (); - typedef IfcTopologicalRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTopologicalRepresentationItem > > list; - typedef IfcTemplatedEntityList< IfcTopologicalRepresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcTopologicalRepresentationItem > list; }; /// IfcTopologyRepresentation /// represents the concept of a particular topological representation of a @@ -12240,15 +12002,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcShapeModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcShapeModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTopologyRepresentation (IfcAbstractEntityPtr e); - IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationItem > > v4_Items); - typedef IfcTopologyRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTopologyRepresentation > > list; - typedef IfcTemplatedEntityList< IfcTopologyRepresentation >::it it; + IfcTopologyRepresentation (IfcAbstractEntity* e); + IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + typedef IfcTemplatedEntityList< IfcTopologyRepresentation > list; }; /// IfcUnitAssignment indicates a set of units which may be assigned. Within an IfcUnitAssigment each unit definition shall be unique; that is, there shall be no redundant unit definitions for the same unit type such as length unit or area unit. For currencies, there shall be only a single IfcMonetaryUnit within an IfcUnitAssignment. /// @@ -12258,20 +12018,18 @@ public: class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Units(); - void setUnits(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Units() const; + void setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Units"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitAssignment (IfcAbstractEntityPtr e); - IfcUnitAssignment (IfcEntities v1_Units); - typedef IfcUnitAssignment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitAssignment > > list; - typedef IfcTemplatedEntityList< IfcUnitAssignment >::it it; + IfcUnitAssignment (IfcAbstractEntity* e); + IfcUnitAssignment (IfcEntityList::ptr v1_Units); + typedef IfcTemplatedEntityList< IfcUnitAssignment > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex is the topological construct corresponding to a point. It has dimensionality 0 and extent 0. The domain of a vertex, if present, is a point in m dimensional real space RM; this is represented by the vertex point subtype. /// @@ -12288,15 +12046,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertex (IfcAbstractEntityPtr e); + IfcVertex (IfcAbstractEntity* e); IfcVertex (); - typedef IfcVertex* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertex > > list; - typedef IfcTemplatedEntityList< IfcVertex >::it it; + typedef IfcTemplatedEntityList< IfcVertex > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex point is a vertex which has its geometry defined as a point. /// @@ -12310,20 +12066,18 @@ public: class IfcVertexPoint : public IfcVertex { public: /// The geometric point, which defines the position in geometric space of the vertex. - IfcPoint* VertexGeometry(); + IfcPoint* VertexGeometry() const; void setVertexGeometry(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VertexGeometry"; } return IfcVertex::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertexPoint (IfcAbstractEntityPtr e); + IfcVertexPoint (IfcAbstractEntity* e); IfcVertexPoint (IfcPoint* v1_VertexGeometry); - typedef IfcVertexPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexPoint > > list; - typedef IfcTemplatedEntityList< IfcVertexPoint >::it it; + typedef IfcTemplatedEntityList< IfcVertexPoint > list; }; /// IfcVirtualGridIntersection defines the derived location of the intersection between two grid axes. Offset values may be given to set an offset distance to the grid axis for the calculation of the virtual grid intersection. /// @@ -12387,23 +12141,21 @@ public: 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. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > IntersectingAxes(); - void setIntersectingAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; + void setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection. - std::vector< IfcLengthMeasure > /*[2:3]*/ OffsetDistances(); + std::vector< IfcLengthMeasure > /*[2:3]*/ OffsetDistances() const; void setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "IntersectingAxes"; case 1: return "OffsetDistances"; } throw IfcParse::IfcException("argument out of range"); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVirtualGridIntersection (IfcAbstractEntityPtr e); - IfcVirtualGridIntersection (SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances); - typedef IfcVirtualGridIntersection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVirtualGridIntersection > > list; - typedef IfcTemplatedEntityList< IfcVirtualGridIntersection >::it it; + IfcVirtualGridIntersection (IfcAbstractEntity* e); + IfcVirtualGridIntersection (IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances); + typedef IfcTemplatedEntityList< IfcVirtualGridIntersection > list; }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. /// @@ -12416,36 +12168,34 @@ public: class IfcWorkTime : public IfcSchedulingTime { public: /// Whether the optional attribute RecurrencePattern is defined for this IfcWorkTime - bool hasRecurrencePattern(); + 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(); + IfcRecurrencePattern* RecurrencePattern() const; void setRecurrencePattern(IfcRecurrencePattern* v); /// Whether the optional attribute Start is defined for this IfcWorkTime - bool hasStart(); + bool hasStart() const; /// Start date of the work time (0:00), that might be further /// restricted by a recurrence pattern. - IfcDate Start(); + IfcDate Start() const; void setStart(IfcDate v); /// Whether the optional attribute Finish is defined for this IfcWorkTime - bool hasFinish(); + bool hasFinish() const; /// End date of the work time (24:00), that might be further /// restricted by a recurrence pattern. - IfcDate Finish(); + IfcDate Finish() const; void setFinish(IfcDate v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "RecurrencePattern"; case 4: return "Start"; case 5: return "Finish"; } return IfcSchedulingTime::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkTime (IfcAbstractEntityPtr e); + IfcWorkTime (IfcAbstractEntity* e); IfcWorkTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< IfcDate > v5_Start, boost::optional< IfcDate > v6_Finish); - typedef IfcWorkTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > list; - typedef IfcTemplatedEntityList< IfcWorkTime >::it it; + typedef IfcTemplatedEntityList< IfcWorkTime > list; }; /// An IfcApprovalRelationship associates approvals (one /// relating approval and one or more related approvals), each having different status or level as the approval process or the approved @@ -12457,23 +12207,21 @@ public: class IfcApprovalRelationship : public IfcResourceLevelRelationship { public: /// The approval that other approval is related to. - IfcApproval* RelatingApproval(); + IfcApproval* RelatingApproval() const; void setRelatingApproval(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. - SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > RelatedApprovals(); - void setRelatedApprovals(SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > v); + IfcTemplatedEntityList< IfcApproval >::ptr RelatedApprovals() const; + void setRelatedApprovals(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingApproval"; case 3: return "RelatedApprovals"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcApprovalRelationship (IfcAbstractEntityPtr e); - IfcApprovalRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcApproval* v3_RelatingApproval, SHARED_PTR< IfcTemplatedEntityList< IfcApproval > > v4_RelatedApprovals); - typedef IfcApprovalRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcApprovalRelationship > > list; - typedef IfcTemplatedEntityList< IfcApprovalRelationship >::it it; + IfcApprovalRelationship (IfcAbstractEntity* e); + IfcApprovalRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< IfcApproval >::ptr v4_RelatedApprovals); + typedef IfcTemplatedEntityList< IfcApprovalRelationship > list; }; /// The closed profile IfcArbitraryClosedProfileDef defines an arbitrary two-dimensional profile for the use within the swept surface geometry, the swept area solid or a sectioned spine. It is given by an outer boundary from which the surface or solid can be constructed. /// @@ -12496,20 +12244,18 @@ public: class IfcArbitraryClosedProfileDef : public IfcProfileDef { public: /// Bounded curve, defining the outer boundaries of the arbitrary profile. - IfcCurve* OuterCurve(); + IfcCurve* OuterCurve() const; void setOuterCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "OuterCurve"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcArbitraryClosedProfileDef (IfcAbstractEntityPtr e); + IfcArbitraryClosedProfileDef (IfcAbstractEntity* e); IfcArbitraryClosedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve); - typedef IfcArbitraryClosedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > > list; - typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > list; }; /// The open profile IfcArbitraryOpenProfileDef defines an arbitrary two-dimensional open profile for the use within the swept surface geometry. It is given by an open boundary from with the surface can be constructed. /// @@ -12529,20 +12275,18 @@ public: class IfcArbitraryOpenProfileDef : public IfcProfileDef { public: /// Open bounded curve defining the profile. - IfcBoundedCurve* Curve(); + IfcBoundedCurve* Curve() const; void setCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Curve"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcArbitraryOpenProfileDef (IfcAbstractEntityPtr e); + IfcArbitraryOpenProfileDef (IfcAbstractEntity* e); IfcArbitraryOpenProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve); - typedef IfcArbitraryOpenProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > > list; - typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > list; }; /// The IfcArbitraryProfileDefWithVoids defines an arbitrary closed two-dimensional profile with holes defined for the use for the swept area solid or a sectioned spine. It is given by an outer boundary and inner boundaries from with the solid the can be constructed. /// @@ -12566,20 +12310,18 @@ public: class IfcArbitraryProfileDefWithVoids : public IfcArbitraryClosedProfileDef { public: /// Set of bounded curves, defining the inner boundaries of the arbitrary profile. - SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerCurves(); - void setInnerCurves(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v); + IfcTemplatedEntityList< IfcCurve >::ptr InnerCurves() const; + void setInnerCurves(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InnerCurves"; } return IfcArbitraryClosedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcArbitraryProfileDefWithVoids (IfcAbstractEntityPtr e); - IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v4_InnerCurves); - typedef IfcArbitraryProfileDefWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > > list; - typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids >::it it; + IfcArbitraryProfileDefWithVoids (IfcAbstractEntity* e); + IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves); + typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > list; }; /// An IfcBlobTexture provides a 2-dimensional distribution of the lighting parameters of a surface onto which it is mapped. The texture itself is given as a single binary blob, representing the content of a pixel format file. The file format of the pixel file is given by the RasterFormat attribute and allowable formats are guided by where rule SupportedRasterFormat. /// @@ -12593,21 +12335,19 @@ public: class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. - IfcIdentifier RasterFormat(); + IfcIdentifier RasterFormat() const; void setRasterFormat(IfcIdentifier 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); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RasterFormat"; case 6: return "RasterCode"; } return IfcSurfaceTexture::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBlobTexture (IfcAbstractEntityPtr e); + IfcBlobTexture (IfcAbstractEntity* e); IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcIdentifier v6_RasterFormat); - typedef IfcBlobTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBlobTexture > > list; - typedef IfcTemplatedEntityList< IfcBlobTexture >::it it; + 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. /// @@ -12641,20 +12381,18 @@ public: class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. - IfcPositiveLengthMeasure Thickness(); + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcArbitraryOpenProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Thickness"; } return IfcArbitraryOpenProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCenterLineProfileDef (IfcAbstractEntityPtr e); + IfcCenterLineProfileDef (IfcAbstractEntity* e); IfcCenterLineProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness); - typedef IfcCenterLineProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCenterLineProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCenterLineProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCenterLineProfileDef > list; }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common /// characteristics. A classification in the sense of IfcClassification is taxonomy, or taxonomic scheme, arranged in a hierarchical structure. A category of objects relates to other categories in a generalization-specialization relationship. Therefore the classification items in an @@ -12674,51 +12412,51 @@ public: class IfcClassification : public IfcExternalInformation { public: /// Whether the optional attribute Source is defined for this IfcClassification - bool hasSource(); + 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. - IfcLabel Source(); + IfcLabel Source() const; void setSource(IfcLabel v); /// Whether the optional attribute Edition is defined for this IfcClassification - bool hasEdition(); + bool hasEdition() const; /// The edition or version of the classification system from which the classification notation is derived. /// /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. - IfcLabel Edition(); + IfcLabel Edition() const; void setEdition(IfcLabel v); /// Whether the optional attribute EditionDate is defined for this IfcClassification - bool hasEditionDate(); + bool hasEditionDate() const; /// 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. - IfcDate EditionDate(); + IfcDate EditionDate() const; void setEditionDate(IfcDate v); /// The name or label by which the classification used is normally known. /// /// NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcClassification - bool hasDescription(); + bool hasDescription() const; /// Additional description provided for the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Location is defined for this IfcClassification - bool hasLocation(); + bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcURIReference Location(); + IfcURIReference Location() const; void setLocation(IfcURIReference v); /// Whether the optional attribute ReferenceTokens is defined for this IfcClassification - bool hasReferenceTokens(); + bool hasReferenceTokens() const; /// 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 @@ -12731,22 +12469,20 @@ public: /// EXAMPLE 2  The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a "mask syntax" that should be used. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< IfcIdentifier > /*[1:?]*/ ReferenceTokens(); + std::vector< IfcIdentifier > /*[1:?]*/ ReferenceTokens() const; void setReferenceTokens(std::vector< IfcIdentifier > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; } return IfcExternalInformation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Source"; case 1: return "Edition"; case 2: return "EditionDate"; case 3: return "Name"; case 4: return "Description"; case 5: return "Location"; case 6: return "ReferenceTokens"; } return IfcExternalInformation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesClassification > > ClassificationForObjects(); // INVERSE IfcRelAssociatesClassification::RelatingClassification - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationReference > > HasReferences(); // INVERSE IfcClassificationReference::ReferencedSource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesClassification >::ptr ClassificationForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification + IfcTemplatedEntityList< IfcClassificationReference >::ptr HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassification (IfcAbstractEntityPtr e); + IfcClassification (IfcAbstractEntity* e); IfcClassification (boost::optional< IfcLabel > v1_Source, boost::optional< IfcLabel > v2_Edition, boost::optional< IfcDate > v3_EditionDate, IfcLabel v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcURIReference > v6_Location, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v7_ReferenceTokens); - typedef IfcClassification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassification > > list; - typedef IfcTemplatedEntityList< IfcClassification >::it it; + typedef IfcTemplatedEntityList< IfcClassification > list; }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). /// @@ -12772,35 +12508,33 @@ public: class IfcClassificationReference : public IfcExternalReference { public: /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference - bool hasReferencedSource(); + bool hasReferencedSource() const; /// The classification system or source that is referenced. - IfcClassificationReferenceSelect ReferencedSource(); + IfcClassificationReferenceSelect ReferencedSource() const; void setReferencedSource(IfcClassificationReferenceSelect v); /// Whether the optional attribute Description is defined for this IfcClassificationReference - bool hasDescription(); + bool hasDescription() const; /// Description of the classification reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Sort is defined for this IfcClassificationReference - bool hasSort(); - IfcIdentifier Sort(); + bool hasSort() const; + IfcIdentifier Sort() const; void setSort(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ReferencedSource"; case 4: return "Description"; case 5: return "Sort"; } return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesClassification > > ClassificationRefForObjects(); // INVERSE IfcRelAssociatesClassification::RelatingClassification - SHARED_PTR< IfcTemplatedEntityList< IfcClassificationReference > > HasReferences(); // INVERSE IfcClassificationReference::ReferencedSource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesClassification >::ptr ClassificationRefForObjects() const; // INVERSE IfcRelAssociatesClassification::RelatingClassification + IfcTemplatedEntityList< IfcClassificationReference >::ptr HasReferences() const; // INVERSE IfcClassificationReference::ReferencedSource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClassificationReference (IfcAbstractEntityPtr e); + IfcClassificationReference (IfcAbstractEntity* e); IfcClassificationReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcClassificationReferenceSelect > v4_ReferencedSource, boost::optional< IfcText > v5_Description, boost::optional< IfcIdentifier > v6_Sort); - typedef IfcClassificationReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClassificationReference > > list; - typedef IfcTemplatedEntityList< IfcClassificationReference >::it it; + typedef IfcTemplatedEntityList< IfcClassificationReference > list; }; class IfcColourRgbList : public IfcPresentationItem { @@ -12808,15 +12542,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_UNKNOWN; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ColourList"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColourRgbList (IfcAbstractEntityPtr e); + IfcColourRgbList (IfcAbstractEntity* e); IfcColourRgbList (); - typedef IfcColourRgbList* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourRgbList > > list; - typedef IfcTemplatedEntityList< IfcColourRgbList >::it it; + typedef IfcTemplatedEntityList< IfcColourRgbList > list; }; /// Definition from ISO/CD 10303-46:1992: The colour specification entity contains a direct colour definition. Colour component values refer directly to a specific colour space. /// @@ -12826,25 +12558,23 @@ public: class IfcColourSpecification : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcColourSpecification - bool hasName(); + 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. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColourSpecification (IfcAbstractEntityPtr e); + IfcColourSpecification (IfcAbstractEntity* e); IfcColourSpecification (boost::optional< IfcLabel > v1_Name); - typedef IfcColourSpecification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourSpecification > > list; - typedef IfcTemplatedEntityList< IfcColourSpecification >::it it; + typedef IfcTemplatedEntityList< IfcColourSpecification > list; }; /// The IfcCompositeProfileDef /// defines the profile by composition of other profiles. The composition @@ -12885,25 +12615,23 @@ public: class IfcCompositeProfileDef : public IfcProfileDef { public: /// The profiles which are used to define the composite profile. - SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > Profiles(); - void setProfiles(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v); + IfcTemplatedEntityList< IfcProfileDef >::ptr Profiles() const; + void setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v); /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef - bool hasLabel(); + bool hasLabel() const; /// The name by which the composition may be referred to. The actual meaning of the name has to be defined in the context of applications. - IfcLabel Label(); + IfcLabel Label() const; void setLabel(IfcLabel v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Profiles"; case 3: return "Label"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeProfileDef (IfcAbstractEntityPtr e); - IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v3_Profiles, boost::optional< IfcLabel > v4_Label); - typedef IfcCompositeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCompositeProfileDef >::it it; + IfcCompositeProfileDef (IfcAbstractEntity* e); + IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label); + typedef IfcTemplatedEntityList< IfcCompositeProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A connected_face_set is a set of faces such that the domain of faces together with their bounding edges and vertices is connected. /// @@ -12917,20 +12645,18 @@ public: class IfcConnectedFaceSet : public IfcTopologicalRepresentationItem { public: /// The set of faces arcwise connected along common edges or vertices. - SHARED_PTR< IfcTemplatedEntityList< IfcFace > > CfsFaces(); - void setCfsFaces(SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v); + IfcTemplatedEntityList< IfcFace >::ptr CfsFaces() const; + void setCfsFaces(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CfsFaces"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectedFaceSet (IfcAbstractEntityPtr e); - IfcConnectedFaceSet (SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces); - typedef IfcConnectedFaceSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > list; - typedef IfcTemplatedEntityList< IfcConnectedFaceSet >::it it; + IfcConnectedFaceSet (IfcAbstractEntity* e); + IfcConnectedFaceSet (IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces); + typedef IfcTemplatedEntityList< IfcConnectedFaceSet > list; }; /// IfcConnectionCurveGeometry is used to describe the geometric constraints that facilitate the physical connection of two objects at a curve or at an edge with curve geometry associated. It is envisioned as a control that applies to the element connection relationships. /// @@ -12948,25 +12674,23 @@ public: class IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. - IfcCurveOrEdgeCurve CurveOnRelatingElement(); + IfcCurveOrEdgeCurve CurveOnRelatingElement() const; void setCurveOnRelatingElement(IfcCurveOrEdgeCurve v); /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry - bool hasCurveOnRelatedElement(); + bool hasCurveOnRelatedElement() const; /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcCurveOrEdgeCurve CurveOnRelatedElement(); + IfcCurveOrEdgeCurve CurveOnRelatedElement() const; void setCurveOnRelatedElement(IfcCurveOrEdgeCurve v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CurveOnRelatingElement"; case 1: return "CurveOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionCurveGeometry (IfcAbstractEntityPtr e); + IfcConnectionCurveGeometry (IfcAbstractEntity* e); IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement); - typedef IfcConnectionCurveGeometry* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionCurveGeometry > > list; - typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry >::it it; + 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: /// @@ -12990,32 +12714,30 @@ public: class IfcConnectionPointEccentricity : public IfcConnectionPointGeometry { public: /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInX(); + bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInX(); + IfcLengthMeasure EccentricityInX() const; void setEccentricityInX(IfcLengthMeasure v); /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInY(); + bool hasEccentricityInY() const; /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInY(); + IfcLengthMeasure EccentricityInY() const; void setEccentricityInY(IfcLengthMeasure v); /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity - bool hasEccentricityInZ(); + bool hasEccentricityInZ() const; /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInZ(); + IfcLengthMeasure EccentricityInZ() const; void setEccentricityInZ(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcConnectionPointGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EccentricityInX"; case 3: return "EccentricityInY"; case 4: return "EccentricityInZ"; } return IfcConnectionPointGeometry::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConnectionPointEccentricity (IfcAbstractEntityPtr e); + IfcConnectionPointEccentricity (IfcAbstractEntity* e); IfcConnectionPointEccentricity (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ); - typedef IfcConnectionPointEccentricity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConnectionPointEccentricity > > list; - typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity >::it it; + 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. /// @@ -13027,21 +12749,19 @@ public: class IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; } return IfcNamedUnit::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Name"; } return IfcNamedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReference(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcContextDependentUnit (IfcAbstractEntityPtr e); + IfcContextDependentUnit (IfcAbstractEntity* e); IfcContextDependentUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name); - typedef IfcContextDependentUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcContextDependentUnit > > list; - typedef IfcTemplatedEntityList< IfcContextDependentUnit >::it it; + typedef IfcTemplatedEntityList< IfcContextDependentUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. /// @@ -13093,24 +12813,22 @@ public: class IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// The physical quantity from which the converted unit is derived. - IfcMeasureWithUnit* ConversionFactor(); + IfcMeasureWithUnit* ConversionFactor() const; void setConversionFactor(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Name"; case 3: return "ConversionFactor"; } return IfcNamedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > HasExternalReference(); // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcExternalReferenceRelationship >::ptr HasExternalReference() const; // INVERSE IfcExternalReferenceRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConversionBasedUnit (IfcAbstractEntityPtr e); + IfcConversionBasedUnit (IfcAbstractEntity* e); IfcConversionBasedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor); - typedef IfcConversionBasedUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConversionBasedUnit > > list; - typedef IfcTemplatedEntityList< IfcConversionBasedUnit >::it it; + typedef IfcTemplatedEntityList< IfcConversionBasedUnit > list; }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. /// @@ -13133,20 +12851,18 @@ public: class IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. - IfcReal ConversionOffset(); + IfcReal ConversionOffset() const; void setConversionOffset(IfcReal v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcConversionBasedUnit::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ConversionOffset"; } return IfcConversionBasedUnit::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConversionBasedUnitWithOffset (IfcAbstractEntityPtr e); + IfcConversionBasedUnitWithOffset (IfcAbstractEntity* e); IfcConversionBasedUnitWithOffset (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, IfcReal v5_ConversionOffset); - typedef IfcConversionBasedUnitWithOffset* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConversionBasedUnitWithOffset > > list; - typedef IfcTemplatedEntityList< IfcConversionBasedUnitWithOffset >::it it; + typedef IfcTemplatedEntityList< IfcConversionBasedUnitWithOffset > list; }; /// IfcCurrencyRelationship defines the rate of exchange /// that applies between two designated currencies at a particular time @@ -13162,38 +12878,36 @@ public: 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(); + IfcMonetaryUnit* RelatingMonetaryUnit() const; void setRelatingMonetaryUnit(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(); + IfcMonetaryUnit* RelatedMonetaryUnit() const; void setRelatedMonetaryUnit(IfcMonetaryUnit* v); /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). - IfcPositiveRatioMeasure ExchangeRate(); + IfcPositiveRatioMeasure ExchangeRate() const; void setExchangeRate(IfcPositiveRatioMeasure v); /// Whether the optional attribute RateDateTime is defined for this IfcCurrencyRelationship - bool hasRateDateTime(); + bool hasRateDateTime() const; /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. - IfcDateTime RateDateTime(); + IfcDateTime RateDateTime() const; void setRateDateTime(IfcDateTime v); /// Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship - bool hasRateSource(); + bool hasRateSource() const; /// The source from which an exchange rate is obtained. - IfcLibraryInformation* RateSource(); + IfcLibraryInformation* RateSource() const; void setRateSource(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingMonetaryUnit"; case 3: return "RelatedMonetaryUnit"; case 4: return "ExchangeRate"; case 5: return "RateDateTime"; case 6: return "RateSource"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurrencyRelationship (IfcAbstractEntityPtr e); + IfcCurrencyRelationship (IfcAbstractEntity* e); IfcCurrencyRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, IfcPositiveRatioMeasure v5_ExchangeRate, boost::optional< IfcDateTime > v6_RateDateTime, IfcLibraryInformation* v7_RateSource); - typedef IfcCurrencyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurrencyRelationship > > list; - typedef IfcTemplatedEntityList< IfcCurrencyRelationship >::it it; + typedef IfcTemplatedEntityList< IfcCurrencyRelationship > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. /// @@ -13215,36 +12929,34 @@ public: class IfcCurveStyle : public IfcPresentationStyle { public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle - bool hasCurveFont(); + 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(); + IfcCurveFontOrScaledCurveFontSelect CurveFont() const; void setCurveFont(IfcCurveFontOrScaledCurveFontSelect v); /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle - bool hasCurveWidth(); + bool hasCurveWidth() const; /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. - IfcSizeSelect CurveWidth(); + IfcSizeSelect CurveWidth() const; void setCurveWidth(IfcSizeSelect v); /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle - bool hasCurveColour(); + bool hasCurveColour() const; /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. - IfcColour CurveColour(); + IfcColour CurveColour() const; void setCurveColour(IfcColour v); /// Whether the optional attribute ModelOrDraughting is defined for this IfcCurveStyle - bool hasModelOrDraughting(); - bool ModelOrDraughting(); + bool hasModelOrDraughting() const; + bool ModelOrDraughting() const; void setModelOrDraughting(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CurveFont"; case 2: return "CurveWidth"; case 3: return "CurveColour"; case 4: return "ModelOrDraughting"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyle (IfcAbstractEntityPtr e); + IfcCurveStyle (IfcAbstractEntity* e); IfcCurveStyle (boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting); - typedef IfcCurveStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyle > > list; - typedef IfcTemplatedEntityList< IfcCurveStyle >::it it; + 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. /// @@ -13254,25 +12966,23 @@ public: class IfcCurveStyleFont : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFont - bool hasName(); + bool hasName() const; /// Name that may be assigned with the curve font. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel 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. - SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > PatternList(); - void setPatternList(SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v); + IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr PatternList() const; + void setPatternList(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "PatternList"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyleFont (IfcAbstractEntityPtr e); - IfcCurveStyleFont (boost::optional< IfcLabel > v1_Name, SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > v2_PatternList); - typedef IfcCurveStyleFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFont > > list; - typedef IfcTemplatedEntityList< IfcCurveStyleFont >::it it; + IfcCurveStyleFont (IfcAbstractEntity* e); + IfcCurveStyleFont (boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList); + typedef IfcTemplatedEntityList< IfcCurveStyleFont > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font and scaling is a curve style font and a scalar factor for that font, so that a given curve style font may be applied at various scales. /// @@ -13288,28 +12998,26 @@ public: class IfcCurveStyleFontAndScaling : public IfcPresentationItem { public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling - bool hasName(); + bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// The curve font to be scaled. - IfcCurveStyleFontSelect CurveFont(); + IfcCurveStyleFontSelect CurveFont() const; void setCurveFont(IfcCurveStyleFontSelect v); /// The scale factor. - IfcPositiveRatioMeasure CurveFontScaling(); + IfcPositiveRatioMeasure CurveFontScaling() const; void setCurveFontScaling(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "CurveFont"; case 2: return "CurveFontScaling"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyleFontAndScaling (IfcAbstractEntityPtr e); + IfcCurveStyleFontAndScaling (IfcAbstractEntity* e); IfcCurveStyleFontAndScaling (boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling); - typedef IfcCurveStyleFontAndScaling* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > > list; - typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling >::it it; + typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style font pattern is a pair of visible and invisible curve segment length measures in presentation area units. /// @@ -13323,23 +13031,21 @@ public: /// NOTE  For a visible segment representing a point, the value 0. should be assigned. /// /// IFC2x Edition 3 CHANGE  The datatype has been changed to IfcLengthMeasure with upward compatibility for file-based exchange. - IfcLengthMeasure VisibleSegmentLength(); + IfcLengthMeasure VisibleSegmentLength() const; void setVisibleSegmentLength(IfcLengthMeasure v); /// The length of the invisible segment in the pattern definition. - IfcPositiveLengthMeasure InvisibleSegmentLength(); + IfcPositiveLengthMeasure InvisibleSegmentLength() const; void setInvisibleSegmentLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VisibleSegmentLength"; case 1: return "InvisibleSegmentLength"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveStyleFontPattern (IfcAbstractEntityPtr e); + IfcCurveStyleFontPattern (IfcAbstractEntity* e); IfcCurveStyleFontPattern (IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength); - typedef IfcCurveStyleFontPattern* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveStyleFontPattern > > list; - typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern >::it it; + typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern > list; }; /// IfcDerivedProfileDef defines the profile by transformation from the parent profile. The transformation is given by a two dimensional transformation operator. Transformation includes translation, rotation, mirror and scaling. The latter can be uniform or non uniform. The derived profiles may be used to define swept surfaces, swept area solids or sectioned spines. /// @@ -13428,144 +13134,140 @@ public: class IfcDerivedProfileDef : public IfcProfileDef { public: /// The parent profile provides the origin of the transformation. - IfcProfileDef* ParentProfile(); + IfcProfileDef* ParentProfile() const; void setParentProfile(IfcProfileDef* v); /// Transformation operator applied to the parent profile. - IfcCartesianTransformationOperator2D* Operator(); + IfcCartesianTransformationOperator2D* Operator() const; void setOperator(IfcCartesianTransformationOperator2D* v); /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef - bool hasLabel(); + bool hasLabel() const; /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - IfcLabel Label(); + IfcLabel Label() const; void setLabel(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ParentProfile"; case 3: return "Operator"; case 4: return "Label"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDerivedProfileDef (IfcAbstractEntityPtr e); + IfcDerivedProfileDef (IfcAbstractEntity* e); IfcDerivedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label); - typedef IfcDerivedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDerivedProfileDef > > list; - typedef IfcTemplatedEntityList< IfcDerivedProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcDerivedProfileDef > list; }; /// IfcDocumentInformation captures "metadata" of an external document. The actual content of the document is not defined in IFC; instead, it can be found following the reference given to IfcDocumentReference. /// /// HISTORY: New entity in IFC 2x. class IfcDocumentInformation : public IfcExternalInformation { public: - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// File name or document name assigned by owner. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcDocumentInformation - bool hasDescription(); + bool hasDescription() const; /// Description of document and its content. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Location is defined for this IfcDocumentInformation - bool hasLocation(); + bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the document information for online references. /// /// IFC2x4 CHANGE  New attribute added at end of attribute list. - IfcURIReference Location(); + IfcURIReference Location() const; void setLocation(IfcURIReference v); /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation - bool hasPurpose(); + bool hasPurpose() const; /// Purpose for this document. - IfcText Purpose(); + IfcText Purpose() const; void setPurpose(IfcText v); /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation - bool hasIntendedUse(); + bool hasIntendedUse() const; /// Intended use for this document. - IfcText IntendedUse(); + IfcText IntendedUse() const; void setIntendedUse(IfcText v); /// Whether the optional attribute Scope is defined for this IfcDocumentInformation - bool hasScope(); + bool hasScope() const; /// Scope for this document. - IfcText Scope(); + IfcText Scope() const; void setScope(IfcText v); /// Whether the optional attribute Revision is defined for this IfcDocumentInformation - bool hasRevision(); + bool hasRevision() const; /// Document revision designation. - IfcLabel Revision(); + IfcLabel Revision() const; void setRevision(IfcLabel v); /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation - bool hasDocumentOwner(); + bool hasDocumentOwner() const; /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. - IfcActorSelect DocumentOwner(); + IfcActorSelect DocumentOwner() const; void setDocumentOwner(IfcActorSelect v); /// Whether the optional attribute Editors is defined for this IfcDocumentInformation - bool hasEditors(); + bool hasEditors() const; /// The persons and/or organizations who have created this document or contributed to it. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Editors(); - void setEditors(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Editors() const; + void setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation - bool hasCreationTime(); + bool hasCreationTime() const; /// Date and time stamp when the document was originally created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateTime CreationTime(); + IfcDateTime CreationTime() const; void setCreationTime(IfcDateTime v); /// Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation - bool hasLastRevisionTime(); + bool hasLastRevisionTime() const; /// Date and time stamp when this document version was created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateTime LastRevisionTime(); + IfcDateTime LastRevisionTime() const; void setLastRevisionTime(IfcDateTime v); /// Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation - bool hasElectronicFormat(); + bool hasElectronicFormat() const; /// Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided. - IfcIdentifier ElectronicFormat(); + IfcIdentifier ElectronicFormat() const; void setElectronicFormat(IfcIdentifier v); /// Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation - bool hasValidFrom(); + bool hasValidFrom() const; /// Date when the document becomes valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDate ValidFrom(); + IfcDate ValidFrom() const; void setValidFrom(IfcDate v); /// Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation - bool hasValidUntil(); + bool hasValidUntil() const; /// Date until which the document remains valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDate ValidUntil(); + IfcDate ValidUntil() const; void setValidUntil(IfcDate v); /// Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation - bool hasConfidentiality(); + bool hasConfidentiality() const; /// The level of confidentiality of the document. - IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum Confidentiality(); + IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum Confidentiality() const; void setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v); /// Whether the optional attribute Status is defined for this IfcDocumentInformation - bool hasStatus(); + bool hasStatus() const; /// 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(); + IfcDocumentStatusEnum::IfcDocumentStatusEnum Status() const; void setStatus(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Identification"; case 1: return "Name"; case 2: return "Description"; case 3: return "Location"; case 4: return "Purpose"; case 5: return "IntendedUse"; case 6: return "Scope"; case 7: return "Revision"; case 8: return "DocumentOwner"; case 9: return "Editors"; case 10: return "CreationTime"; case 11: return "LastRevisionTime"; case 12: return "ElectronicFormat"; case 13: return "ValidFrom"; case 14: return "ValidUntil"; case 15: return "Confidentiality"; case 16: return "Status"; } return IfcExternalInformation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesDocument > > DocumentInfoForObjects(); // INVERSE IfcRelAssociatesDocument::RelatingDocument - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > HasDocumentReferences(); // INVERSE IfcDocumentReference::ReferencedDocument - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > IsPointedTo(); // INVERSE IfcDocumentInformationRelationship::RelatedDocuments - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > IsPointer(); // INVERSE IfcDocumentInformationRelationship::RelatingDocument + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesDocument >::ptr DocumentInfoForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument + IfcTemplatedEntityList< IfcDocumentReference >::ptr HasDocumentReferences() const; // INVERSE IfcDocumentReference::ReferencedDocument + IfcTemplatedEntityList< IfcDocumentInformationRelationship >::ptr IsPointedTo() const; // INVERSE IfcDocumentInformationRelationship::RelatedDocuments + IfcTemplatedEntityList< IfcDocumentInformationRelationship >::ptr IsPointer() const; // INVERSE IfcDocumentInformationRelationship::RelatingDocument bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentInformation (IfcAbstractEntityPtr e); - IfcDocumentInformation (IfcIdentifier v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcURIReference > v4_Location, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntities > v10_Editors, boost::optional< IfcDateTime > v11_CreationTime, boost::optional< IfcDateTime > v12_LastRevisionTime, boost::optional< IfcIdentifier > v13_ElectronicFormat, boost::optional< IfcDate > v14_ValidFrom, boost::optional< IfcDate > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); - typedef IfcDocumentInformation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > list; - typedef IfcTemplatedEntityList< IfcDocumentInformation >::it it; + IfcDocumentInformation (IfcAbstractEntity* e); + IfcDocumentInformation (IfcIdentifier v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcURIReference > v4_Location, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< IfcDateTime > v11_CreationTime, boost::optional< IfcDateTime > v12_LastRevisionTime, boost::optional< IfcIdentifier > v13_ElectronicFormat, boost::optional< IfcDate > v14_ValidFrom, boost::optional< IfcDate > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); + typedef IfcTemplatedEntityList< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. /// @@ -13578,28 +13280,26 @@ public: class IfcDocumentInformationRelationship : public IfcResourceLevelRelationship { public: /// The document that acts as the parent, referencing or original document in a relationship. - IfcDocumentInformation* RelatingDocument(); + IfcDocumentInformation* RelatingDocument() const; void setRelatingDocument(IfcDocumentInformation* v); /// The document that acts as the child, referenced or replacing document in a relationship. - SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > RelatedDocuments(); - void setRelatedDocuments(SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v); + IfcTemplatedEntityList< IfcDocumentInformation >::ptr RelatedDocuments() const; + void setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v); /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship - bool hasRelationshipType(); + bool hasRelationshipType() const; /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - IfcLabel RelationshipType(); + IfcLabel RelationshipType() const; void setRelationshipType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingDocument"; case 3: return "RelatedDocuments"; case 4: return "RelationshipType"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentInformationRelationship (IfcAbstractEntityPtr e); - IfcDocumentInformationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDocumentInformation* v3_RelatingDocument, SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformation > > v4_RelatedDocuments, boost::optional< IfcLabel > v5_RelationshipType); - typedef IfcDocumentInformationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentInformationRelationship > > list; - typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship >::it it; + IfcDocumentInformationRelationship (IfcAbstractEntity* e); + IfcDocumentInformationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< IfcLabel > v5_RelationshipType); + typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship > list; }; /// An IfcDocumentReference is a reference /// to the location of a document. The reference is given by a system @@ -13615,30 +13315,28 @@ public: class IfcDocumentReference : public IfcExternalReference { public: /// Whether the optional attribute Description is defined for this IfcDocumentReference - bool hasDescription(); + bool hasDescription() const; /// Description of the document reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute ReferencedDocument is defined for this IfcDocumentReference - bool hasReferencedDocument(); + bool hasReferencedDocument() const; /// The document that is referenced. - IfcDocumentInformation* ReferencedDocument(); + IfcDocumentInformation* ReferencedDocument() const; void setReferencedDocument(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Description"; case 4: return "ReferencedDocument"; } return IfcExternalReference::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesDocument > > DocumentRefForObjects(); // INVERSE IfcRelAssociatesDocument::RelatingDocument + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssociatesDocument >::ptr DocumentRefForObjects() const; // INVERSE IfcRelAssociatesDocument::RelatingDocument bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDocumentReference (IfcAbstractEntityPtr e); + IfcDocumentReference (IfcAbstractEntity* e); IfcDocumentReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcDocumentInformation* v5_ReferencedDocument); - typedef IfcDocumentReference* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDocumentReference > > list; - typedef IfcTemplatedEntityList< IfcDocumentReference >::it it; + typedef IfcTemplatedEntityList< IfcDocumentReference > list; }; /// Definition from ISO/CD 10303-42:1992: An edge is the /// topological construct corresponding to the connection of two @@ -13692,23 +13390,21 @@ public: class IfcEdge : public IfcTopologicalRepresentationItem { public: /// Start point (vertex) of the edge. - IfcVertex* EdgeStart(); + IfcVertex* EdgeStart() const; void setEdgeStart(IfcVertex* v); /// End point (vertex) of the edge. The same vertex can be used for both EdgeStart and EdgeEnd. - IfcVertex* EdgeEnd(); + IfcVertex* EdgeEnd() const; void setEdgeEnd(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeStart"; case 1: return "EdgeEnd"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdge (IfcAbstractEntityPtr e); + IfcEdge (IfcAbstractEntity* e); IfcEdge (IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd); - typedef IfcEdge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdge > > list; - typedef IfcTemplatedEntityList< IfcEdge >::it it; + typedef IfcTemplatedEntityList< IfcEdge > list; }; /// Definition from ISO/CD 10303-42:1992: An edge curve is /// a special subtype of edge which has its geometry fully defined. @@ -13746,23 +13442,21 @@ public: 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(); + IfcCurve* EdgeGeometry() const; void setEdgeGeometry(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(); + bool SameSense() const; void setSameSense(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeGeometry"; case 3: return "SameSense"; } return IfcEdge::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdgeCurve (IfcAbstractEntityPtr e); + IfcEdgeCurve (IfcAbstractEntity* e); IfcEdgeCurve (IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCurve* v3_EdgeGeometry, bool v4_SameSense); - typedef IfcEdgeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeCurve > > list; - typedef IfcTemplatedEntityList< IfcEdgeCurve >::it it; + typedef IfcTemplatedEntityList< IfcEdgeCurve > list; }; /// IfcEventTime captures the time-related information about an event /// including the different types of event dates (i.e. actual, @@ -13790,65 +13484,61 @@ public: class IfcEventTime : public IfcSchedulingTime { public: /// Whether the optional attribute ActualDate is defined for this IfcEventTime - bool hasActualDate(); + bool hasActualDate() const; /// The date on which an event actually occurs. It is a measured value. - IfcDateTime ActualDate(); + IfcDateTime ActualDate() const; void setActualDate(IfcDateTime v); /// Whether the optional attribute EarlyDate is defined for this IfcEventTime - bool hasEarlyDate(); + bool hasEarlyDate() const; /// The earliest date on which an event can occur. It is a calculated value. - IfcDateTime EarlyDate(); + IfcDateTime EarlyDate() const; void setEarlyDate(IfcDateTime v); /// Whether the optional attribute LateDate is defined for this IfcEventTime - bool hasLateDate(); + bool hasLateDate() const; /// The latest date on which an event can occur. It is a calculated value. - IfcDateTime LateDate(); + IfcDateTime LateDate() const; void setLateDate(IfcDateTime v); /// Whether the optional attribute ScheduleDate is defined for this IfcEventTime - bool hasScheduleDate(); + bool hasScheduleDate() const; /// The date on which an event is scheduled to occur. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. - IfcDateTime ScheduleDate(); + IfcDateTime ScheduleDate() const; void setScheduleDate(IfcDateTime v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ActualDate"; case 4: return "EarlyDate"; case 5: return "LateDate"; case 6: return "ScheduleDate"; } return IfcSchedulingTime::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEventTime (IfcAbstractEntityPtr e); + IfcEventTime (IfcAbstractEntity* e); IfcEventTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDateTime > v4_ActualDate, boost::optional< IfcDateTime > v5_EarlyDate, boost::optional< IfcDateTime > v6_LateDate, boost::optional< IfcDateTime > v7_ScheduleDate); - typedef IfcEventTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEventTime > > list; - typedef IfcTemplatedEntityList< IfcEventTime >::it it; + typedef IfcTemplatedEntityList< IfcEventTime > list; }; class IfcExtendedProperties : public IfcPropertyAbstraction { public: /// Whether the optional attribute Name is defined for this IfcExtendedProperties - bool hasName(); - IfcIdentifier Name(); + bool hasName() const; + IfcIdentifier Name() const; void setName(IfcIdentifier v); /// Whether the optional attribute Description is defined for this IfcExtendedProperties - bool hasDescription(); - IfcText Description(); + bool hasDescription() const; + IfcText Description() const; void setDescription(IfcText v); - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > Properties(); - void setProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr Properties() const; + void setProperties(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Properties"; } return IfcPropertyAbstraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExtendedProperties (IfcAbstractEntityPtr e); - IfcExtendedProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v3_Properties); - typedef IfcExtendedProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtendedProperties > > list; - typedef IfcTemplatedEntityList< IfcExtendedProperties >::it it; + IfcExtendedProperties (IfcAbstractEntity* e); + IfcExtendedProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties); + typedef IfcTemplatedEntityList< IfcExtendedProperties > list; }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the /// IfcResourceObjectSelect to have the ability to be tagged by external references. @@ -13862,23 +13552,21 @@ public: /// An external reference that can be used to tag an object within the range of IfcResourceObjectSelect. /// /// 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(); + IfcExternalReference* RelatingReference() const; void setRelatingReference(IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RelatedResourceObjects(); - void setRelatedResourceObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingReference"; case 3: return "RelatedResourceObjects"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternalReferenceRelationship (IfcAbstractEntityPtr e); - IfcExternalReferenceRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntities v4_RelatedResourceObjects); - typedef IfcExternalReferenceRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalReferenceRelationship > > list; - typedef IfcTemplatedEntityList< IfcExternalReferenceRelationship >::it it; + IfcExternalReferenceRelationship (IfcAbstractEntity* e); + IfcExternalReferenceRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects); + typedef IfcTemplatedEntityList< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological /// entity of dimensionality 2 corresponding to the intuitive notion of a piece of @@ -13927,21 +13615,19 @@ public: class IfcFace : public IfcTopologicalRepresentationItem { public: /// Boundaries of the face. - SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > Bounds(); - void setBounds(SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v); + IfcTemplatedEntityList< IfcFaceBound >::ptr Bounds() const; + void setBounds(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bounds"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTextureMap > > HasTextureMaps(); // INVERSE IfcTextureMap::MappedTo + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTextureMap >::ptr HasTextureMaps() const; // INVERSE IfcTextureMap::MappedTo bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFace (IfcAbstractEntityPtr e); - IfcFace (SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds); - typedef IfcFace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFace > > list; - typedef IfcTemplatedEntityList< IfcFace >::it it; + IfcFace (IfcAbstractEntity* e); + IfcFace (IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds); + typedef IfcTemplatedEntityList< IfcFace > list; }; /// Definition from ISO/CD 10303-42:1992: A face bound is a loop which is intended to be used for bounding a face. /// @@ -13951,23 +13637,21 @@ public: class IfcFaceBound : public IfcTopologicalRepresentationItem { public: /// The loop which will be used as a face boundary. - IfcLoop* Bound(); + IfcLoop* Bound() const; void setBound(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(); + bool Orientation() const; void setOrientation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bound"; case 1: return "Orientation"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceBound (IfcAbstractEntityPtr e); + IfcFaceBound (IfcAbstractEntity* e); IfcFaceBound (IfcLoop* v1_Bound, bool v2_Orientation); - typedef IfcFaceBound* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > list; - typedef IfcTemplatedEntityList< IfcFaceBound >::it it; + typedef IfcTemplatedEntityList< IfcFaceBound > list; }; /// Definition from ISO/CD 10303-42:1992: A face outer bound is a special subtype of face bound which carries the additional semantics of defining an outer boundary on the face. No more than one boundary of a face shall be of this type. /// @@ -13979,15 +13663,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFaceBound::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFaceBound::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceOuterBound (IfcAbstractEntityPtr e); + IfcFaceOuterBound (IfcAbstractEntity* e); IfcFaceOuterBound (IfcLoop* v1_Bound, bool v2_Orientation); - typedef IfcFaceOuterBound* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceOuterBound > > list; - typedef IfcTemplatedEntityList< IfcFaceOuterBound >::it it; + typedef IfcTemplatedEntityList< IfcFaceOuterBound > list; }; /// Definition from ISO/CD 10303-42:1992: A face surface /// (IfcFaceSurface) is a subtype of face in which the geometry is defined by an @@ -14028,23 +13710,21 @@ public: 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(); + IfcSurface* FaceSurface() const; void setFaceSurface(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(); + bool SameSense() const; void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } return IfcFace::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FaceSurface"; case 2: return "SameSense"; } return IfcFace::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceSurface (IfcAbstractEntityPtr e); - IfcFaceSurface (SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense); - typedef IfcFaceSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceSurface > > list; - typedef IfcTemplatedEntityList< IfcFaceSurface >::it it; + IfcFaceSurface (IfcAbstractEntity* e); + IfcFaceSurface (IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense); + typedef IfcTemplatedEntityList< IfcFaceSurface > list; }; /// Definition from IAI: Defines forces at which a support or connection fails. /// @@ -14056,47 +13736,45 @@ public: class IfcFailureConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition - bool hasTensionFailureX(); + bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - IfcForceMeasure TensionFailureX(); + IfcForceMeasure TensionFailureX() const; void setTensionFailureX(IfcForceMeasure v); /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition - bool hasTensionFailureY(); + bool hasTensionFailureY() const; /// Tension force in y-direction leading to failure of the connection. - IfcForceMeasure TensionFailureY(); + IfcForceMeasure TensionFailureY() const; void setTensionFailureY(IfcForceMeasure v); /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition - bool hasTensionFailureZ(); + bool hasTensionFailureZ() const; /// Tension force in z-direction leading to failure of the connection. - IfcForceMeasure TensionFailureZ(); + IfcForceMeasure TensionFailureZ() const; void setTensionFailureZ(IfcForceMeasure v); /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureX(); + bool hasCompressionFailureX() const; /// Compression force in x-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureX(); + IfcForceMeasure CompressionFailureX() const; void setCompressionFailureX(IfcForceMeasure v); /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureY(); + bool hasCompressionFailureY() const; /// Compression force in y-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureY(); + IfcForceMeasure CompressionFailureY() const; void setCompressionFailureY(IfcForceMeasure v); /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition - bool hasCompressionFailureZ(); + bool hasCompressionFailureZ() const; /// Compression force in z-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureZ(); + IfcForceMeasure CompressionFailureZ() const; void setCompressionFailureZ(IfcForceMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TensionFailureX"; case 2: return "TensionFailureY"; case 3: return "TensionFailureZ"; case 4: return "CompressionFailureX"; case 5: return "CompressionFailureY"; case 6: return "CompressionFailureZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFailureConnectionCondition (IfcAbstractEntityPtr e); + IfcFailureConnectionCondition (IfcAbstractEntity* e); IfcFailureConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ); - typedef IfcFailureConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFailureConnectionCondition > > list; - typedef IfcTemplatedEntityList< IfcFailureConnectionCondition >::it it; + typedef IfcTemplatedEntityList< IfcFailureConnectionCondition > list; }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. /// @@ -14135,24 +13813,22 @@ public: class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > FillStyles(); - void setFillStyles(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr FillStyles() const; + void setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute ModelorDraughting is defined for this IfcFillAreaStyle - bool hasModelorDraughting(); - bool ModelorDraughting(); + bool hasModelorDraughting() const; + bool ModelorDraughting() const; void setModelorDraughting(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FillStyles"; case 2: return "ModelorDraughting"; } return IfcPresentationStyle::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyle (IfcAbstractEntityPtr e); - IfcFillAreaStyle (boost::optional< IfcLabel > v1_Name, IfcEntities v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); - typedef IfcFillAreaStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyle > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyle >::it it; + IfcFillAreaStyle (IfcAbstractEntity* e); + IfcFillAreaStyle (boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); + typedef IfcTemplatedEntityList< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric /// representation context is a representation context in which the @@ -14204,36 +13880,34 @@ public: class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. - IfcDimensionCount CoordinateSpaceDimension(); + IfcDimensionCount CoordinateSpaceDimension() const; void setCoordinateSpaceDimension(IfcDimensionCount v); /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext - bool hasPrecision(); + bool hasPrecision() const; /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. - double Precision(); + double Precision() const; void setPrecision(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(); + IfcAxis2Placement WorldCoordinateSystem() const; void setWorldCoordinateSystem(IfcAxis2Placement v); /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext - bool hasTrueNorth(); + bool hasTrueNorth() const; /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. - IfcDirection* TrueNorth(); + IfcDirection* TrueNorth() const; void setTrueNorth(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "CoordinateSpaceDimension"; case 3: return "Precision"; case 4: return "WorldCoordinateSystem"; case 5: return "TrueNorth"; } return IfcRepresentationContext::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > > HasSubContexts(); // INVERSE IfcGeometricRepresentationSubContext::ParentContext + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::ptr HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricRepresentationContext (IfcAbstractEntityPtr e); + IfcGeometricRepresentationContext (IfcAbstractEntity* e); IfcGeometricRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); - typedef IfcGeometricRepresentationContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationContext > > list; - typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext >::it it; + 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: /// @@ -14259,15 +13933,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricRepresentationItem (IfcAbstractEntityPtr e); + IfcGeometricRepresentationItem (IfcAbstractEntity* e); IfcGeometricRepresentationItem (); - typedef IfcGeometricRepresentationItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationItem > > list; - typedef IfcTemplatedEntityList< IfcGeometricRepresentationItem >::it it; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationItem > list; }; /// IfcGeometricRepresentationSubContext defines the context that applies to several shape representations of a product being a sub context, sharing the WorldCoordinateSystem, CoordinateSpaceDimension, Precision and TrueNorth attributes with the parent IfcGeometricRepresentationContext. /// @@ -14285,10 +13957,10 @@ public: class IfcGeometricRepresentationSubContext : public IfcGeometricRepresentationContext { public: /// Parent context from which the sub context derives its world coordinate system, precision, space coordinate dimension and true north. - IfcGeometricRepresentationContext* ParentContext(); + IfcGeometricRepresentationContext* ParentContext() const; void setParentContext(IfcGeometricRepresentationContext* v); /// Whether the optional attribute TargetScale is defined for this IfcGeometricRepresentationSubContext - bool hasTargetScale(); + bool hasTargetScale() const; /// The target plot scale of the representation /// to which this representation context applies. /// Scale indicates the target plot scale for @@ -14300,28 +13972,26 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - IfcPositiveRatioMeasure TargetScale(); + IfcPositiveRatioMeasure TargetScale() const; void setTargetScale(IfcPositiveRatioMeasure v); /// Target view of the representation to which this representation context applies. - IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView(); + IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView() const; void setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext - bool hasUserDefinedTargetView(); + bool hasUserDefinedTargetView() const; /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - IfcLabel UserDefinedTargetView(); + IfcLabel UserDefinedTargetView() const; void setUserDefinedTargetView(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcGeometricRepresentationContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ParentContext"; case 7: return "TargetScale"; case 8: return "TargetView"; case 9: return "UserDefinedTargetView"; } return IfcGeometricRepresentationContext::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricRepresentationSubContext (IfcAbstractEntityPtr e); + IfcGeometricRepresentationSubContext (IfcAbstractEntity* e); IfcGeometricRepresentationSubContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView); - typedef IfcGeometricRepresentationSubContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > > list; - typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::it it; + typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. /// @@ -14333,20 +14003,18 @@ public: class IfcGeometricSet : public IfcGeometricRepresentationItem { public: /// The geometric elements which make up the geometric set, these may be points, curves or surfaces; but are required to be of the same coordinate space dimensionality. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Elements(); - void setElements(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Elements() const; + void setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricSet (IfcAbstractEntityPtr e); - IfcGeometricSet (IfcEntities v1_Elements); - typedef IfcGeometricSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricSet > > list; - typedef IfcTemplatedEntityList< IfcGeometricSet >::it it; + IfcGeometricSet (IfcAbstractEntity* e); + IfcGeometricSet (IfcEntityList::ptr v1_Elements); + typedef IfcTemplatedEntityList< IfcGeometricSet > list; }; /// IfcGridPlacement provides a specialization of IfcObjectPlacement in which /// the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid. @@ -14396,27 +14064,25 @@ public: class IfcGridPlacement : public IfcObjectPlacement { public: /// Placement of the object coordinate system defined by the intersection of two grid axes. - IfcVirtualGridIntersection* PlacementLocation(); + IfcVirtualGridIntersection* PlacementLocation() const; void setPlacementLocation(IfcVirtualGridIntersection* v); /// Whether the optional attribute PlacementRefDirection is defined for this IfcGridPlacement - bool hasPlacementRefDirection(); + bool hasPlacementRefDirection() const; /// 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(); + IfcGridPlacementDirectionSelect PlacementRefDirection() const; void setPlacementRefDirection(IfcGridPlacementDirectionSelect v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementLocation"; case 1: return "PlacementRefDirection"; } return IfcObjectPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGridPlacement (IfcAbstractEntityPtr e); + IfcGridPlacement (IfcAbstractEntity* e); IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect > v2_PlacementRefDirection); - typedef IfcGridPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGridPlacement > > list; - typedef IfcTemplatedEntityList< IfcGridPlacement >::it it; + 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. /// @@ -14436,23 +14102,21 @@ public: class IfcHalfSpaceSolid : public IfcGeometricRepresentationItem { public: /// Surface defining side of half space. - IfcSurface* BaseSurface(); + IfcSurface* BaseSurface() const; void setBaseSurface(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(); + bool AgreementFlag() const; void setAgreementFlag(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BaseSurface"; case 1: return "AgreementFlag"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHalfSpaceSolid (IfcAbstractEntityPtr e); + IfcHalfSpaceSolid (IfcAbstractEntity* e); IfcHalfSpaceSolid (IfcSurface* v1_BaseSurface, bool v2_AgreementFlag); - typedef IfcHalfSpaceSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHalfSpaceSolid > > list; - typedef IfcTemplatedEntityList< IfcHalfSpaceSolid >::it it; + typedef IfcTemplatedEntityList< IfcHalfSpaceSolid > list; }; /// An IfcImageTexture provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided. /// @@ -14492,84 +14156,76 @@ public: class IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. - IfcURIReference URLReference(); + IfcURIReference URLReference() const; void setURLReference(IfcURIReference v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "URLReference"; } return IfcSurfaceTexture::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcImageTexture (IfcAbstractEntityPtr e); + IfcImageTexture (IfcAbstractEntity* e); IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcURIReference v6_URLReference); - typedef IfcImageTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcImageTexture > > list; - typedef IfcTemplatedEntityList< IfcImageTexture >::it it; + typedef IfcTemplatedEntityList< IfcImageTexture > list; }; class IfcIndexedColourMap : public IfcPresentationItem { public: - IfcTessellatedFaceSet* MappedTo(); + IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(IfcTessellatedFaceSet* v); /// Whether the optional attribute Overrides is defined for this IfcIndexedColourMap - bool hasOverrides(); - IfcSurfaceStyleShading* Overrides(); + bool hasOverrides() const; + IfcSurfaceStyleShading* Overrides() const; void setOverrides(IfcSurfaceStyleShading* v); - IfcColourRgbList* Colours(); + IfcColourRgbList* Colours() const; void setColours(IfcColourRgbList* v); - std::vector< int > /*[1:?]*/ ColourIndex(); + std::vector< int > /*[1:?]*/ ColourIndex() const; void setColourIndex(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappedTo"; case 1: return "Overrides"; case 2: return "Colours"; case 3: return "ColourIndex"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIndexedColourMap (IfcAbstractEntityPtr e); + IfcIndexedColourMap (IfcAbstractEntity* e); IfcIndexedColourMap (IfcTessellatedFaceSet* v1_MappedTo, IfcSurfaceStyleShading* v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex); - typedef IfcIndexedColourMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIndexedColourMap > > list; - typedef IfcTemplatedEntityList< IfcIndexedColourMap >::it it; + typedef IfcTemplatedEntityList< IfcIndexedColourMap > list; }; class IfcIndexedTextureMap : public IfcTextureCoordinate { public: - IfcTessellatedFaceSet* MappedTo(); + IfcTessellatedFaceSet* MappedTo() const; void setMappedTo(IfcTessellatedFaceSet* v); - IfcTextureVertexList* TexCoords(); + IfcTextureVertexList* TexCoords() const; void setTexCoords(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "MappedTo"; case 2: return "TexCoords"; } return IfcTextureCoordinate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIndexedTextureMap (IfcAbstractEntityPtr e); - IfcIndexedTextureMap (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords); - typedef IfcIndexedTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIndexedTextureMap > > list; - typedef IfcTemplatedEntityList< IfcIndexedTextureMap >::it it; + IfcIndexedTextureMap (IfcAbstractEntity* e); + IfcIndexedTextureMap (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords); + typedef IfcTemplatedEntityList< IfcIndexedTextureMap > list; }; class IfcIndexedTriangleTextureMap : public IfcIndexedTextureMap { public: /// Whether the optional attribute TexCoordIndex is defined for this IfcIndexedTriangleTextureMap - bool hasTexCoordIndex(); + 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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TexCoordIndex"; } return IfcIndexedTextureMap::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIndexedTriangleTextureMap (IfcAbstractEntityPtr e); - IfcIndexedTriangleTextureMap (SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceTexture > > v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords); - typedef IfcIndexedTriangleTextureMap* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIndexedTriangleTextureMap > > list; - typedef IfcTemplatedEntityList< IfcIndexedTriangleTextureMap >::it it; + IfcIndexedTriangleTextureMap (IfcAbstractEntity* e); + IfcIndexedTriangleTextureMap (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTessellatedFaceSet* v2_MappedTo, IfcTextureVertexList* v3_TexCoords); + typedef IfcTemplatedEntityList< IfcIndexedTriangleTextureMap > 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. /// @@ -14579,20 +14235,18 @@ public: class IfcIrregularTimeSeries : public IfcTimeSeries { public: /// The collection of time series values. - SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > Values(); - void setValues(SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v); + IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr Values() const; + void setValues(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "Values"; } return IfcTimeSeries::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIrregularTimeSeries (IfcAbstractEntityPtr e); - IfcIrregularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > > v9_Values); - typedef IfcIrregularTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIrregularTimeSeries > > list; - typedef IfcTemplatedEntityList< IfcIrregularTimeSeries >::it it; + IfcIrregularTimeSeries (IfcAbstractEntity* e); + IfcIrregularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); + typedef IfcTemplatedEntityList< IfcIrregularTimeSeries > list; }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. /// @@ -14635,24 +14289,22 @@ class IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. - IfcTimeOrRatioSelect LagValue(); + IfcTimeOrRatioSelect LagValue() const; void setLagValue(IfcTimeOrRatioSelect v); /// The allowed types of task duration that specify the lag time /// measurement (work time or elapsed time). - IfcTaskDurationEnum::IfcTaskDurationEnum DurationType(); + IfcTaskDurationEnum::IfcTaskDurationEnum DurationType() const; void setDurationType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "LagValue"; case 4: return "DurationType"; } return IfcSchedulingTime::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLagTime (IfcAbstractEntityPtr e); + IfcLagTime (IfcAbstractEntity* e); IfcLagTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType); - typedef IfcLagTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLagTime > > list; - typedef IfcTemplatedEntityList< IfcLagTime >::it it; + typedef IfcTemplatedEntityList< IfcLagTime > list; }; /// Definition from ISO/CD 10303-46:1992: The light source entity is determined by the reflectance specified in the surface style rendering. Lighting is applied on a surface by surface basis: no interactions between surfaces such as shadows or reflections are defined. /// @@ -14664,36 +14316,34 @@ public: class IfcLightSource : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Name is defined for this IfcLightSource - bool hasName(); + bool hasName() const; /// The name given to the light source in presentation. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel 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(); + IfcColourRgb* LightColour() const; void setLightColour(IfcColourRgb* v); /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource - bool hasAmbientIntensity(); + bool hasAmbientIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure AmbientIntensity(); + IfcNormalisedRatioMeasure AmbientIntensity() const; void setAmbientIntensity(IfcNormalisedRatioMeasure v); /// Whether the optional attribute Intensity is defined for this IfcLightSource - bool hasIntensity(); + bool hasIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure Intensity(); + IfcNormalisedRatioMeasure Intensity() const; void setIntensity(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "LightColour"; case 2: return "AmbientIntensity"; case 3: return "Intensity"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSource (IfcAbstractEntityPtr e); + IfcLightSource (IfcAbstractEntity* e); IfcLightSource (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); - typedef IfcLightSource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSource > > list; - typedef IfcTemplatedEntityList< IfcLightSource >::it it; + typedef IfcTemplatedEntityList< IfcLightSource > list; }; /// Definition from ISO/CD 10303-46:1992: The light source ambient entity is a subtype of light source. It lights a surface independent of the surface's orientation and position. /// @@ -14707,15 +14357,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceAmbient (IfcAbstractEntityPtr e); + IfcLightSourceAmbient (IfcAbstractEntity* e); IfcLightSourceAmbient (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); - typedef IfcLightSourceAmbient* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceAmbient > > list; - typedef IfcTemplatedEntityList< IfcLightSourceAmbient >::it it; + typedef IfcTemplatedEntityList< IfcLightSourceAmbient > list; }; /// Definition from ISO/CD 10303-46:1992: The light source directional is a subtype of light source. This entity has a light source direction. With a conceptual origin at infinity, all the rays of the light are parallel to this direction. This kind of light source lights a surface based on the surface's orientation, but not position. /// @@ -14730,20 +14378,18 @@ class IfcLightSourceDirectional : public IfcLightSource { 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(); + IfcDirection* Orientation() const; void setOrientation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Orientation"; } return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceDirectional (IfcAbstractEntityPtr e); + IfcLightSourceDirectional (IfcAbstractEntity* e); IfcLightSourceDirectional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation); - typedef IfcLightSourceDirectional* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceDirectional > > list; - typedef IfcTemplatedEntityList< IfcLightSourceDirectional >::it it; + typedef IfcTemplatedEntityList< IfcLightSourceDirectional > list; }; /// IfcLightSourceGoniometric defines a light source for which exact lighting data is available. It specifies the type of a light emitter, defines the position and orientation of a light distribution curve and the data concerning lamp and photometric information. /// @@ -14755,37 +14401,35 @@ public: class IfcLightSourceGoniometric : public IfcLightSource { public: /// The position of the light source. It is used to orientate the light distribution curves. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(IfcAxis2Placement3D* v); /// Whether the optional attribute ColourAppearance is defined for this IfcLightSourceGoniometric - bool hasColourAppearance(); + bool hasColourAppearance() const; /// 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(); + IfcColourRgb* ColourAppearance() const; void setColourAppearance(IfcColourRgb* v); /// The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). - IfcThermodynamicTemperatureMeasure ColourTemperature(); + IfcThermodynamicTemperatureMeasure ColourTemperature() const; void setColourTemperature(IfcThermodynamicTemperatureMeasure v); /// Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. - IfcLuminousFluxMeasure LuminousFlux(); + IfcLuminousFluxMeasure LuminousFlux() const; void setLuminousFlux(IfcLuminousFluxMeasure v); /// Identifies the types of light emitter from which the type required may be set. - IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource(); + IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource() const; void setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); /// The data source from which light distribution data is obtained. - IfcLightDistributionDataSourceSelect LightDistributionDataSource(); + IfcLightDistributionDataSourceSelect LightDistributionDataSource() const; void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "ColourAppearance"; case 6: return "ColourTemperature"; case 7: return "LuminousFlux"; case 8: return "LightEmissionSource"; case 9: return "LightDistributionDataSource"; } return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceGoniometric (IfcAbstractEntityPtr e); + IfcLightSourceGoniometric (IfcAbstractEntity* e); IfcLightSourceGoniometric (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); - typedef IfcLightSourceGoniometric* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceGoniometric > > list; - typedef IfcTemplatedEntityList< IfcLightSourceGoniometric >::it it; + 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. /// @@ -14806,33 +14450,31 @@ class IfcLightSourcePositional : public IfcLightSource { 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(); + IfcCartesianPoint* Position() const; void setPosition(IfcCartesianPoint* v); /// Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant. - IfcReal ConstantAttenuation(); + IfcReal ConstantAttenuation() const; void setConstantAttenuation(IfcReal v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source. - IfcReal DistanceAttenuation(); + IfcReal DistanceAttenuation() const; void setDistanceAttenuation(IfcReal v); /// Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source. - IfcReal QuadricAttenuation(); + IfcReal QuadricAttenuation() const; void setQuadricAttenuation(IfcReal v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "Radius"; case 6: return "ConstantAttenuation"; case 7: return "DistanceAttenuation"; case 8: return "QuadricAttenuation"; } return IfcLightSource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourcePositional (IfcAbstractEntityPtr e); + IfcLightSourcePositional (IfcAbstractEntity* e); IfcLightSourcePositional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation); - typedef IfcLightSourcePositional* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourcePositional > > list; - typedef IfcTemplatedEntityList< IfcLightSourcePositional >::it it; + typedef IfcTemplatedEntityList< IfcLightSourcePositional > list; }; /// Definition from ISO/CD 10303-46:1992: The light source spot entity is a subtype of light source. Spot light source entities have a light source colour, position, direction, attenuation coefficients, concentration exponent, and spread angle. If a point lies outside the cone of influence of a light source of this type as determined by the light source position, direction and spread angle its colour is not affected by that light source. /// @@ -14853,33 +14495,31 @@ class IfcLightSourceSpot : public IfcLightSourcePositional { public: /// Definition from ISO/CD 10303-46:1992: This is the direction of the axis of the cone of the light source specified in the coordinate space of the representation being projected.. /// 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(); + IfcDirection* Orientation() const; void setOrientation(IfcDirection* v); /// Whether the optional attribute ConcentrationExponent is defined for this IfcLightSourceSpot - bool hasConcentrationExponent(); + bool hasConcentrationExponent() const; /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - IfcReal ConcentrationExponent(); + IfcReal ConcentrationExponent() const; void setConcentrationExponent(IfcReal v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. - IfcPositivePlaneAngleMeasure SpreadAngle(); + IfcPositivePlaneAngleMeasure SpreadAngle() const; void setSpreadAngle(IfcPositivePlaneAngleMeasure v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle in which the light source emits light at uniform full intensity. The light source's emission intensity drops off from the inner solid angle (beamWidthAngle) to the outer solid angle (spreadAngle). - IfcPositivePlaneAngleMeasure BeamWidthAngle(); + IfcPositivePlaneAngleMeasure BeamWidthAngle() const; void setBeamWidthAngle(IfcPositivePlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcLightSourcePositional::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Orientation"; case 10: return "ConcentrationExponent"; case 11: return "SpreadAngle"; case 12: return "BeamWidthAngle"; } return IfcLightSourcePositional::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightSourceSpot (IfcAbstractEntityPtr e); + IfcLightSourceSpot (IfcAbstractEntity* e); IfcLightSourceSpot (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle); - typedef IfcLightSourceSpot* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightSourceSpot > > list; - typedef IfcTemplatedEntityList< IfcLightSourceSpot >::it it; + typedef IfcTemplatedEntityList< IfcLightSourceSpot > list; }; /// IfcLocalPlacement defines the relative placement of a product in relation to the /// placement of another product or the absolute placement of a product within the geometric representation context of the project. @@ -14936,25 +14576,23 @@ public: class IfcLocalPlacement : public IfcObjectPlacement { public: /// Whether the optional attribute PlacementRelTo is defined for this IfcLocalPlacement - bool hasPlacementRelTo(); + 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(); + IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(IfcObjectPlacement* v); /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. - IfcAxis2Placement RelativePlacement(); + IfcAxis2Placement RelativePlacement() const; void setRelativePlacement(IfcAxis2Placement v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementRelTo"; case 1: return "RelativePlacement"; } return IfcObjectPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLocalPlacement (IfcAbstractEntityPtr e); + IfcLocalPlacement (IfcAbstractEntity* e); IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement v2_RelativePlacement); - typedef IfcLocalPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLocalPlacement > > list; - typedef IfcTemplatedEntityList< IfcLocalPlacement >::it it; + typedef IfcTemplatedEntityList< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological /// entity constructed from a single vertex, or by stringing together connected @@ -14987,15 +14625,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLoop (IfcAbstractEntityPtr e); + IfcLoop (IfcAbstractEntity* e); IfcLoop (); - typedef IfcLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLoop > > list; - typedef IfcTemplatedEntityList< IfcLoop >::it it; + typedef IfcTemplatedEntityList< IfcLoop > list; }; /// Definition from ISO/CD 10303-43:1992: A mapped item is the use of an existing representation (the mapping source - mapped representation) as a representation item in a second representation. /// @@ -15019,23 +14655,21 @@ public: 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(); + IfcRepresentationMap* MappingSource() const; void setMappingSource(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(); + IfcCartesianTransformationOperator* MappingTarget() const; void setMappingTarget(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappingSource"; case 1: return "MappingTarget"; } return IfcRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMappedItem (IfcAbstractEntityPtr e); + IfcMappedItem (IfcAbstractEntity* e); IfcMappedItem (IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget); - typedef IfcMappedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMappedItem > > list; - typedef IfcTemplatedEntityList< IfcMappedItem >::it it; + typedef IfcTemplatedEntityList< IfcMappedItem > list; }; /// IfcMaterial is a homogeneous or inhomogeneous /// substance that can be used to form elements (physical products or @@ -15071,39 +14705,37 @@ public: /// EXAMPLE A view definition may require Material.Name to uniquely specify e.g. concrete or steel grade, in which case the attribute Material.Category could take the value 'Concrete' or 'Steel'. /// /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterial - bool hasDescription(); + bool hasDescription() const; /// Definition of the material in more descriptive terms than given by attributes Name or Category. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute Category is defined for this IfcMaterial - bool hasCategory(); + bool hasCategory() const; /// 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. - IfcLabel Category(); + IfcLabel Category() const; void setCategory(IfcLabel v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Category"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > > HasRepresentation(); // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialRelationship > > IsRelatedWith(); // INVERSE IfcMaterialRelationship::RelatedMaterials - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialRelationship > > RelatesTo(); // INVERSE IfcMaterialRelationship::RelatingMaterial + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation >::ptr HasRepresentation() const; // INVERSE IfcMaterialDefinitionRepresentation::RepresentedMaterial + IfcTemplatedEntityList< IfcMaterialRelationship >::ptr IsRelatedWith() const; // INVERSE IfcMaterialRelationship::RelatedMaterials + IfcTemplatedEntityList< IfcMaterialRelationship >::ptr RelatesTo() const; // INVERSE IfcMaterialRelationship::RelatingMaterial bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterial (IfcAbstractEntityPtr e); + IfcMaterial (IfcAbstractEntity* e); IfcMaterial (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_Category); - typedef IfcMaterial* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > list; - typedef IfcTemplatedEntityList< IfcMaterial >::it it; + typedef IfcTemplatedEntityList< IfcMaterial > list; }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. /// @@ -15113,41 +14745,39 @@ public: class IfcMaterialConstituent : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialConstituent - bool hasName(); + bool hasName() const; /// The name by which the material constituent is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterialConstituent - bool hasDescription(); + bool hasDescription() const; /// Definition of the material constituent in descriptive terms. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Reference to the material from which the constituent is constructed. - IfcMaterial* Material(); + IfcMaterial* Material() const; void setMaterial(IfcMaterial* v); /// Whether the optional attribute Fraction is defined for this IfcMaterialConstituent - bool hasFraction(); + bool hasFraction() const; /// Optional provision of a fraction of the total amount (volume or weight) that applies to the IfcMaterialConstituentSet that is contributed by this IfcMaterialConstituent. - IfcNormalisedRatioMeasure Fraction(); + IfcNormalisedRatioMeasure Fraction() const; void setFraction(IfcNormalisedRatioMeasure v); /// Whether the optional attribute Category is defined for this IfcMaterialConstituent - bool hasCategory(); + bool hasCategory() const; /// Category of the material constituent, e.g. the role it has in the constituent set it belongs to. - IfcLabel Category(); + IfcLabel Category() const; void setCategory(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Material"; case 3: return "Fraction"; case 4: return "Category"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituentSet > > ToMaterialConstituentSet(); // INVERSE IfcMaterialConstituentSet::MaterialConstituents + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcMaterialConstituentSet >::ptr ToMaterialConstituentSet() const; // INVERSE IfcMaterialConstituentSet::MaterialConstituents bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialConstituent (IfcAbstractEntityPtr e); + IfcMaterialConstituent (IfcAbstractEntity* e); IfcMaterialConstituent (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, boost::optional< IfcNormalisedRatioMeasure > v4_Fraction, boost::optional< IfcLabel > v5_Category); - typedef IfcMaterialConstituent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > list; - typedef IfcTemplatedEntityList< IfcMaterialConstituent >::it it; + typedef IfcTemplatedEntityList< IfcMaterialConstituent > list; }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). /// @@ -15166,32 +14796,30 @@ public: class IfcMaterialConstituentSet : public IfcMaterialDefinition { public: /// Whether the optional attribute Name is defined for this IfcMaterialConstituentSet - bool hasName(); + bool hasName() const; /// The name by which the constituent set is known. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); /// Whether the optional attribute Description is defined for this IfcMaterialConstituentSet - bool hasDescription(); + bool hasDescription() const; /// Definition of the material constituent set in descriptive terms. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); /// Whether the optional attribute MaterialConstituents is defined for this IfcMaterialConstituentSet - bool hasMaterialConstituents(); + bool hasMaterialConstituents() const; /// Identification of the constituents from which the material constituent set is composed. - SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > MaterialConstituents(); - void setMaterialConstituents(SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > v); + IfcTemplatedEntityList< IfcMaterialConstituent >::ptr MaterialConstituents() const; + void setMaterialConstituents(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "MaterialConstituents"; } return IfcMaterialDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialConstituentSet (IfcAbstractEntityPtr e); - IfcMaterialConstituentSet (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituent > > > v3_MaterialConstituents); - typedef IfcMaterialConstituentSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialConstituentSet > > list; - typedef IfcTemplatedEntityList< IfcMaterialConstituentSet >::it it; + IfcMaterialConstituentSet (IfcAbstractEntity* e); + IfcMaterialConstituentSet (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v3_MaterialConstituents); + typedef IfcTemplatedEntityList< IfcMaterialConstituentSet > list; }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. /// @@ -15226,20 +14854,18 @@ public: class IfcMaterialDefinitionRepresentation : public IfcProductRepresentation { public: /// Reference to the material to which the representation applies. - IfcMaterial* RepresentedMaterial(); + IfcMaterial* RepresentedMaterial() const; void setRepresentedMaterial(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "RepresentedMaterial"; } return IfcProductRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialDefinitionRepresentation (IfcAbstractEntityPtr e); - IfcMaterialDefinitionRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations, IfcMaterial* v4_RepresentedMaterial); - typedef IfcMaterialDefinitionRepresentation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > > list; - typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation >::it it; + IfcMaterialDefinitionRepresentation (IfcAbstractEntity* e); + IfcMaterialDefinitionRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial); + typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > list; }; /// IfcMaterialLayerSetUsage determines the usage of /// IfcMaterialLayerSet in terms of its location and @@ -15344,24 +14970,24 @@ public: class IfcMaterialLayerSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialLayerSet set to which the usage is applied. - IfcMaterialLayerSet* ForLayerSet(); + IfcMaterialLayerSet* ForLayerSet() const; void setForLayerSet(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(); + IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum LayerSetDirection() const; void setLayerSetDirection(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(); + IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); /// Offset of the material layer set base line (MlsBase) from reference geometry (line or plane) of element. The offset can be positive or negative, unless restricted for a particular building element type in its use definition or by implementer agreement. A positive value means, that the MlsBase is placed on the positive side of the reference line or plane, on the axis established by LayerSetDirection (in case of AXIS2 into the direction of +y, or in case of AXIS2 into the direction of +z). A negative value means that the MlsBase is placed on the negative side, as established by LayerSetDirection (in case of AXIS2 into the direction of -y). NOTE  the positive or negative sign in the offset only affects the MlsBase placement, it does not have any effect on the application of DirectionSense for orientation of the material layers; also DirectionSense does not change the MlsBase placement. - IfcLengthMeasure OffsetFromReferenceLine(); + IfcLengthMeasure OffsetFromReferenceLine() const; void setOffsetFromReferenceLine(IfcLengthMeasure v); /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialLayerSetUsage - bool hasReferenceExtent(); + bool hasReferenceExtent() const; /// 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. /// @@ -15370,20 +14996,18 @@ public: /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialLayerSetWithOffsets is included in the ForLayerSet.MaterialLayers list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcWallStandardCase is the reference height starting at z=0 being the XY plane of the object coordinate system. - IfcPositiveLengthMeasure ReferenceExtent(); + IfcPositiveLengthMeasure ReferenceExtent() const; void setReferenceExtent(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialUsageDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ForLayerSet"; case 1: return "LayerSetDirection"; case 2: return "DirectionSense"; case 3: return "OffsetFromReferenceLine"; case 4: return "ReferenceExtent"; } return IfcMaterialUsageDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialLayerSetUsage (IfcAbstractEntityPtr e); + IfcMaterialLayerSetUsage (IfcAbstractEntity* e); IfcMaterialLayerSetUsage (IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine, boost::optional< IfcPositiveLengthMeasure > v5_ReferenceExtent); - typedef IfcMaterialLayerSetUsage* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialLayerSetUsage > > list; - typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage >::it it; + typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage > list; }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. /// @@ -15395,35 +15019,33 @@ public: class IfcMaterialProfileSetUsage : public IfcMaterialUsageDefinition { public: /// The IfcMaterialProfileSet set to which the usage is applied. - IfcMaterialProfileSet* ForProfileSet(); + IfcMaterialProfileSet* ForProfileSet() const; void setForProfileSet(IfcMaterialProfileSet* v); /// Whether the optional attribute CardinalPoint is defined for this IfcMaterialProfileSetUsage - bool hasCardinalPoint(); + bool hasCardinalPoint() const; /// Index reference to a significant point in the section profile. Describes how the section is aligned relative to the (longitudinal) axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - IfcCardinalPointReference CardinalPoint(); + IfcCardinalPointReference CardinalPoint() const; void setCardinalPoint(IfcCardinalPointReference v); /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialProfileSetUsage - bool hasReferenceExtent(); + bool hasReferenceExtent() const; /// 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. - IfcPositiveLengthMeasure ReferenceExtent(); + IfcPositiveLengthMeasure ReferenceExtent() const; void setReferenceExtent(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_DOUBLE; } return IfcMaterialUsageDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ForProfileSet"; case 1: return "CardinalPoint"; case 2: return "ReferenceExtent"; } return IfcMaterialUsageDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProfileSetUsage (IfcAbstractEntityPtr e); + IfcMaterialProfileSetUsage (IfcAbstractEntity* e); IfcMaterialProfileSetUsage (IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent); - typedef IfcMaterialProfileSetUsage* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfileSetUsage > > list; - typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsage >::it it; + typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsage > list; }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. /// @@ -15453,25 +15075,23 @@ public: class IfcMaterialProfileSetUsageTapering : public IfcMaterialProfileSetUsage { public: /// The second IfcMaterialProfileSet set to which the usage is applied. - IfcMaterialProfileSet* ForProfileEndSet(); + IfcMaterialProfileSet* ForProfileEndSet() const; void setForProfileEndSet(IfcMaterialProfileSet* v); /// Whether the optional attribute CardinalEndPoint is defined for this IfcMaterialProfileSetUsageTapering - bool hasCardinalEndPoint(); + bool hasCardinalEndPoint() const; /// Index reference to a significant point in the second section profile. Describes how this section is aligned relative to the axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - IfcCardinalPointReference CardinalEndPoint(); + IfcCardinalPointReference CardinalEndPoint() const; void setCardinalEndPoint(IfcCardinalPointReference v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_INT; } return IfcMaterialProfileSetUsage::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ForProfileEndSet"; case 4: return "CardinalEndPoint"; } return IfcMaterialProfileSetUsage::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProfileSetUsageTapering (IfcAbstractEntityPtr e); + IfcMaterialProfileSetUsageTapering (IfcAbstractEntity* e); IfcMaterialProfileSetUsageTapering (IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< IfcCardinalPointReference > v5_CardinalEndPoint); - typedef IfcMaterialProfileSetUsageTapering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProfileSetUsageTapering > > list; - typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsageTapering >::it it; + typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsageTapering > list; }; /// IfcMaterialProperties is defined as an abstract /// supertype for entities that apply material properties to material @@ -15500,20 +15120,18 @@ public: /// Reference to the material definition to which the set of properties is assigned. /// /// IFC2x4 CHANGE The datatype has been changed to supertype IfcMaterialDefinition. - IfcMaterialDefinition* Material(); + IfcMaterialDefinition* Material() const; void setMaterial(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Material"; } return IfcExtendedProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialProperties (IfcAbstractEntityPtr e); - IfcMaterialProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v3_Properties, IfcMaterialDefinition* v4_Material); - typedef IfcMaterialProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialProperties > > list; - typedef IfcTemplatedEntityList< IfcMaterialProperties >::it it; + IfcMaterialProperties (IfcAbstractEntity* e); + IfcMaterialProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcMaterialDefinition* v4_Material); + typedef IfcTemplatedEntityList< IfcMaterialProperties > list; }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. /// @@ -15521,28 +15139,26 @@ public: class IfcMaterialRelationship : public IfcResourceLevelRelationship { public: /// Reference to the relating material (the composite). - IfcMaterial* RelatingMaterial(); + IfcMaterial* RelatingMaterial() const; void setRelatingMaterial(IfcMaterial* v); /// Reference to related materials (as constituents of composite material). - SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > RelatedMaterials(); - void setRelatedMaterials(SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v); + IfcTemplatedEntityList< IfcMaterial >::ptr RelatedMaterials() const; + void setRelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v); /// Whether the optional attribute Expression is defined for this IfcMaterialRelationship - bool hasExpression(); + bool hasExpression() const; /// The amount of related material in the whole (composite material or material set). Expressed as proportion (percentage) of weight or volume, or as any other appropriate value. - IfcLabel Expression(); + IfcLabel Expression() const; void setExpression(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingMaterial"; case 3: return "RelatedMaterials"; case 4: return "Expression"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMaterialRelationship (IfcAbstractEntityPtr e); - IfcMaterialRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_RelatingMaterial, SHARED_PTR< IfcTemplatedEntityList< IfcMaterial > > v4_RelatedMaterials, boost::optional< IfcLabel > v5_Expression); - typedef IfcMaterialRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMaterialRelationship > > list; - typedef IfcTemplatedEntityList< IfcMaterialRelationship >::it it; + IfcMaterialRelationship (IfcAbstractEntity* e); + IfcMaterialRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< IfcLabel > v5_Expression); + typedef IfcTemplatedEntityList< IfcMaterialRelationship > list; }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. /// @@ -15576,15 +15192,13 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDerivedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDerivedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMirroredProfileDef (IfcAbstractEntityPtr e); + IfcMirroredProfileDef (IfcAbstractEntity* e); IfcMirroredProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< IfcLabel > v5_Label); - typedef IfcMirroredProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMirroredProfileDef > > list; - typedef IfcTemplatedEntityList< IfcMirroredProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcMirroredProfileDef > list; }; /// An IfcObjectDefinition is the generalization of any /// semantically treated thing or process, either being a type or an @@ -15641,22 +15255,20 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssigns > > HasAssignments(); // INVERSE IfcRelAssigns::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelNests > > Nests(); // INVERSE IfcRelNests::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelNests > > IsNestedBy(); // INVERSE IfcRelNests::RelatingObject - SHARED_PTR< IfcTemplatedEntityList< IfcRelDeclares > > HasContext(); // INVERSE IfcRelDeclares::RelatedDefinitions - SHARED_PTR< IfcTemplatedEntityList< IfcRelAggregates > > IsDecomposedBy(); // INVERSE IfcRelAggregates::RelatingObject - SHARED_PTR< IfcTemplatedEntityList< IfcRelAggregates > > Decomposes(); // INVERSE IfcRelAggregates::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssigns >::ptr HasAssignments() const; // INVERSE IfcRelAssigns::RelatedObjects + IfcTemplatedEntityList< IfcRelNests >::ptr Nests() const; // INVERSE IfcRelNests::RelatedObjects + IfcTemplatedEntityList< IfcRelNests >::ptr IsNestedBy() const; // INVERSE IfcRelNests::RelatingObject + IfcTemplatedEntityList< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions + IfcTemplatedEntityList< IfcRelAggregates >::ptr IsDecomposedBy() const; // INVERSE IfcRelAggregates::RelatingObject + IfcTemplatedEntityList< IfcRelAggregates >::ptr Decomposes() const; // INVERSE IfcRelAggregates::RelatedObjects + IfcTemplatedEntityList< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObjectDefinition (IfcAbstractEntityPtr e); + IfcObjectDefinition (IfcAbstractEntity* e); IfcObjectDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcObjectDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > list; - typedef IfcTemplatedEntityList< IfcObjectDefinition >::it it; + typedef IfcTemplatedEntityList< IfcObjectDefinition > list; }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of /// the dimensionality 2. Its domain, if present, is a finite, connected, oriented, @@ -15722,15 +15334,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConnectedFaceSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOpenShell (IfcAbstractEntityPtr e); - IfcOpenShell (SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces); - typedef IfcOpenShell* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpenShell > > list; - typedef IfcTemplatedEntityList< IfcOpenShell >::it it; + IfcOpenShell (IfcAbstractEntity* e); + IfcOpenShell (IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces); + typedef IfcTemplatedEntityList< IfcOpenShell > list; }; /// Definition: establishes an association between one relating organization and one or more related organizations. /// @@ -15741,23 +15351,21 @@ public: class IfcOrganizationRelationship : public IfcResourceLevelRelationship { public: /// Organization which is the relating part of the relationship between organizations. - IfcOrganization* RelatingOrganization(); + IfcOrganization* RelatingOrganization() const; void setRelatingOrganization(IfcOrganization* v); /// The other, possibly dependent, organizations which are the related parts of the relationship between organizations. - SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > RelatedOrganizations(); - void setRelatedOrganizations(SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v); + IfcTemplatedEntityList< IfcOrganization >::ptr RelatedOrganizations() const; + void setRelatedOrganizations(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingOrganization"; case 3: return "RelatedOrganizations"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrganizationRelationship (IfcAbstractEntityPtr e); - IfcOrganizationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, SHARED_PTR< IfcTemplatedEntityList< IfcOrganization > > v4_RelatedOrganizations); - typedef IfcOrganizationRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrganizationRelationship > > list; - typedef IfcTemplatedEntityList< IfcOrganizationRelationship >::it it; + IfcOrganizationRelationship (IfcAbstractEntity* e); + IfcOrganizationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations); + typedef IfcTemplatedEntityList< IfcOrganizationRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: An oriented edge is an edge constructed from another edge and contains a BOOLEAN direction flag to indicate whether or not the orientation of the constructed edge agrees with the orientation of the original edge. Except for perhaps orientation, the oriented edge is equivalent to the original edge. /// @@ -15769,23 +15377,21 @@ public: class IfcOrientedEdge : public IfcEdge { public: /// Edge entity used to construct this oriented edge. - IfcEdge* EdgeElement(); + IfcEdge* EdgeElement() const; void setEdgeElement(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(); + bool Orientation() const; void setOrientation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeElement"; case 3: return "Orientation"; } return IfcEdge::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOrientedEdge (IfcAbstractEntityPtr e); + IfcOrientedEdge (IfcAbstractEntity* e); IfcOrientedEdge (IfcEdge* v3_EdgeElement, bool v4_Orientation); - typedef IfcOrientedEdge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > list; - typedef IfcTemplatedEntityList< IfcOrientedEdge >::it it; + typedef IfcTemplatedEntityList< IfcOrientedEdge > list; }; /// The parameterized profile definition /// defines a 2D position coordinate system to which the parameters of the @@ -15832,22 +15438,20 @@ public: class IfcParameterizedProfileDef : public IfcProfileDef { public: /// Whether the optional attribute Position is defined for this IfcParameterizedProfileDef - bool hasPosition(); + bool hasPosition() const; /// Position coordinate system of the parameterized profile definition. If unspecified, no translation and no rotation is applied. - IfcAxis2Placement2D* Position(); + IfcAxis2Placement2D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Position"; } return IfcProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcParameterizedProfileDef (IfcAbstractEntityPtr e); + IfcParameterizedProfileDef (IfcAbstractEntity* e); IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position); - typedef IfcParameterizedProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcParameterizedProfileDef > > list; - typedef IfcTemplatedEntityList< IfcParameterizedProfileDef >::it it; + 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). /// @@ -15866,20 +15470,18 @@ public: class IfcPath : public IfcTopologicalRepresentationItem { public: /// The list of oriented edges which are concatenated together to form this path. - SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > EdgeList(); - void setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v); + IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; + void setEdgeList(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeList"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPath (IfcAbstractEntityPtr e); - IfcPath (SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList); - typedef IfcPath* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPath > > list; - typedef IfcTemplatedEntityList< IfcPath >::it it; + IfcPath (IfcAbstractEntity* e); + IfcPath (IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList); + typedef IfcTemplatedEntityList< IfcPath > list; }; /// The complex physical quantity, IfcPhysicalComplexQuantity, is an entity that holds a set of single quantity measure value (as defined at the subtypes of IfcPhysicalSimpleQuantity), that all apply to a given component or aspect of the element. /// @@ -15893,33 +15495,31 @@ public: class IfcPhysicalComplexQuantity : public IfcPhysicalQuantity { public: /// Set of physical quantities that are grouped by this complex physical quantity according to a given discrimination. - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > HasQuantities(); - void setHasQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v); + IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; + void setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. - IfcLabel Discrimination(); + IfcLabel Discrimination() const; void setDiscrimination(IfcLabel v); /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity - bool hasQuality(); + bool hasQuality() const; /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - IfcLabel Quality(); + IfcLabel Quality() const; void setQuality(IfcLabel v); /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity - bool hasUsage(); + bool hasUsage() const; /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - IfcLabel Usage(); + IfcLabel Usage() const; void setUsage(IfcLabel v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcPhysicalQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "HasQuantities"; case 3: return "Discrimination"; case 4: return "Quality"; case 5: return "Usage"; } return IfcPhysicalQuantity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPhysicalComplexQuantity (IfcAbstractEntityPtr e); - IfcPhysicalComplexQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage); - typedef IfcPhysicalComplexQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalComplexQuantity > > list; - typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity >::it it; + IfcPhysicalComplexQuantity (IfcAbstractEntity* e); + IfcPhysicalComplexQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage); + typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity > list; }; /// An IfcPixelTexture provides a 2D image-based texture map as an explicit array of pixel values (list of Pixel binary attributes). In contrary to the IfcImageTexture the IfcPixelTexture holds a 2 dimensional list of pixel color /// (and opacity) directly, instead of referencing to an URL. @@ -15942,13 +15542,13 @@ public: class IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. - IfcInteger Width(); + IfcInteger Width() const; void setWidth(IfcInteger v); /// The number of pixels in height (T) direction. - IfcInteger Height(); + IfcInteger Height() const; void setHeight(IfcInteger v); /// Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. - IfcInteger ColourComponents(); + IfcInteger ColourComponents() const; void setColourComponents(IfcInteger v); /// Flat list of hexadecimal values, each describing one pixel by 1, 2, 3, or 4 components. /// @@ -15956,15 +15556,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; case 7: return IfcUtil::Argument_INT; case 8: return IfcUtil::Argument_UNKNOWN; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Width"; case 6: return "Height"; case 7: return "ColourComponents"; case 8: return "Pixel"; } return IfcSurfaceTexture::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPixelTexture (IfcAbstractEntityPtr e); + IfcPixelTexture (IfcAbstractEntity* e); IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcInteger v6_Width, IfcInteger v7_Height, IfcInteger v8_ColourComponents); - typedef IfcPixelTexture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPixelTexture > > list; - typedef IfcTemplatedEntityList< IfcPixelTexture >::it it; + 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. /// @@ -15978,20 +15576,18 @@ public: 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(); + IfcCartesianPoint* Location() const; void setLocation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Location"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlacement (IfcAbstractEntityPtr e); + IfcPlacement (IfcAbstractEntity* e); IfcPlacement (IfcCartesianPoint* v1_Location); - typedef IfcPlacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlacement > > list; - typedef IfcTemplatedEntityList< IfcPlacement >::it it; + typedef IfcTemplatedEntityList< IfcPlacement > list; }; /// The planar extent defines the extent along the two axes of the two-dimensional coordinate system, independently of its position. /// @@ -16001,23 +15597,21 @@ public: class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. - IfcLengthMeasure SizeInX(); + IfcLengthMeasure SizeInX() const; void setSizeInX(IfcLengthMeasure v); /// The extent in the direction of the y-axis. - IfcLengthMeasure SizeInY(); + IfcLengthMeasure SizeInY() const; void setSizeInY(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SizeInX"; case 1: return "SizeInY"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlanarExtent (IfcAbstractEntityPtr e); + IfcPlanarExtent (IfcAbstractEntity* e); IfcPlanarExtent (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY); - typedef IfcPlanarExtent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlanarExtent > > list; - typedef IfcTemplatedEntityList< IfcPlanarExtent >::it it; + typedef IfcTemplatedEntityList< IfcPlanarExtent > list; }; /// Definition from ISO/CD 10303-42:1992: A point is a location in some real Cartesian coordinate space Rm, for m = 1, 2 or 3. /// @@ -16029,15 +15623,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPoint (IfcAbstractEntityPtr e); + IfcPoint (IfcAbstractEntity* e); IfcPoint (); - typedef IfcPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPoint > > list; - typedef IfcTemplatedEntityList< IfcPoint >::it it; + typedef IfcTemplatedEntityList< IfcPoint > list; }; /// Definition from ISO/CD 10303-42:1992: A point on curve is a point which lies on a curve. The point is determined by evaluating the curve at a specific parameter value. The coordinate space dimensionality of the point is that of the basis curve. /// @@ -16051,23 +15643,21 @@ public: class IfcPointOnCurve : public IfcPoint { public: /// The curve to which point parameter relates. - IfcCurve* BasisCurve(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The parameter value of the point location. - IfcParameterValue PointParameter(); + IfcParameterValue PointParameter() const; void setPointParameter(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "PointParameter"; } return IfcPoint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPointOnCurve (IfcAbstractEntityPtr e); + IfcPointOnCurve (IfcAbstractEntity* e); IfcPointOnCurve (IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter); - typedef IfcPointOnCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPointOnCurve > > list; - typedef IfcTemplatedEntityList< IfcPointOnCurve >::it it; + typedef IfcTemplatedEntityList< IfcPointOnCurve > list; }; /// Definition from ISO/CD 10303-42:1992: A point on surface is a point which lies on a parametric surface. The point is determined by evaluating the surface at a particular pair of parameter values. /// @@ -16081,26 +15671,24 @@ public: class IfcPointOnSurface : public IfcPoint { public: /// The surface to which the parameter values relate. - IfcSurface* BasisSurface(); + IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// The first parameter value of the point location. - IfcParameterValue PointParameterU(); + IfcParameterValue PointParameterU() const; void setPointParameterU(IfcParameterValue v); /// The second parameter value of the point location. - IfcParameterValue PointParameterV(); + IfcParameterValue PointParameterV() const; void setPointParameterV(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "PointParameterU"; case 2: return "PointParameterV"; } return IfcPoint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPointOnSurface (IfcAbstractEntityPtr e); + IfcPointOnSurface (IfcAbstractEntity* e); IfcPointOnSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV); - typedef IfcPointOnSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPointOnSurface > > list; - typedef IfcTemplatedEntityList< IfcPointOnSurface >::it it; + typedef IfcTemplatedEntityList< IfcPointOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A /// poly loop is a loop with straight edges bounding a planar region in @@ -16144,20 +15732,18 @@ public: class IfcPolyLoop : public IfcLoop { public: /// List of points defining the loop. There are no repeated points in the list. - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > Polygon(); - void setPolygon(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr Polygon() const; + void setPolygon(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Polygon"; } return IfcLoop::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPolyLoop (IfcAbstractEntityPtr e); - IfcPolyLoop (SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Polygon); - typedef IfcPolyLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolyLoop > > list; - typedef IfcTemplatedEntityList< IfcPolyLoop >::it it; + IfcPolyLoop (IfcAbstractEntity* e); + IfcPolyLoop (IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Polygon); + typedef IfcTemplatedEntityList< IfcPolyLoop > list; }; /// The polygonal bounded /// half space is a special subtype of a half space solid, where the @@ -16218,25 +15804,23 @@ public: class IfcPolygonalBoundedHalfSpace : public IfcHalfSpaceSolid { public: /// Definition of the position coordinate system for the bounding polyline and the base surface. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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(); + IfcBoundedCurve* PolygonalBoundary() const; void setPolygonalBoundary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Position"; case 3: return "PolygonalBoundary"; } return IfcHalfSpaceSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPolygonalBoundedHalfSpace (IfcAbstractEntityPtr e); + IfcPolygonalBoundedHalfSpace (IfcAbstractEntity* e); IfcPolygonalBoundedHalfSpace (IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcAxis2Placement3D* v3_Position, IfcBoundedCurve* v4_PolygonalBoundary); - typedef IfcPolygonalBoundedHalfSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace > > list; - typedef IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace >::it it; + typedef IfcTemplatedEntityList< IfcPolygonalBoundedHalfSpace > list; }; /// A pre defined item is a qualified name given to a style or font which is determined within the data exchange specification by convention on using the Name attribute value (in contrary to externally defined items, which are agreed by an external source). /// @@ -16248,20 +15832,18 @@ public: class IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. - IfcLabel Name(); + IfcLabel Name() const; void setName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } return IfcPresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedItem (IfcAbstractEntityPtr e); + IfcPreDefinedItem (IfcAbstractEntity* e); IfcPreDefinedItem (IfcLabel v1_Name); - typedef IfcPreDefinedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedItem > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedItem >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedItem > list; }; class IfcPreDefinedProperties : public IfcPropertyAbstraction { @@ -16269,15 +15851,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyAbstraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertyAbstraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedProperties (IfcAbstractEntityPtr e); + IfcPreDefinedProperties (IfcAbstractEntity* e); IfcPreDefinedProperties (); - typedef IfcPreDefinedProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedProperties > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedProperties >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedProperties > list; }; /// The pre defined text font determines those qualified names which can be used for fonts that are in scope of the current data exchange specification (in contrary to externally defined text fonts). There are two choices: /// @@ -16295,15 +15875,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedTextFont (IfcAbstractEntityPtr e); + IfcPreDefinedTextFont (IfcAbstractEntity* e); IfcPreDefinedTextFont (IfcLabel v1_Name); - typedef IfcPreDefinedTextFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedTextFont > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedTextFont >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedTextFont > list; }; /// The IfcProductDefinitionShape defines all shape relevant information about an IfcProduct. It allows for multiple geometric shape representations of the same product. The shape relevant information includes: /// @@ -16322,17 +15900,15 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProductRepresentation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProductRepresentation::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > ShapeOfProduct(); // INVERSE IfcProduct::Representation - SHARED_PTR< IfcTemplatedEntityList< IfcShapeAspect > > HasShapeAspects(); // INVERSE IfcShapeAspect::PartOfProductDefinitionShape + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcProduct >::ptr ShapeOfProduct() const; // INVERSE IfcProduct::Representation + IfcTemplatedEntityList< IfcShapeAspect >::ptr HasShapeAspects() const; // INVERSE IfcShapeAspect::PartOfProductDefinitionShape bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProductDefinitionShape (IfcAbstractEntityPtr e); - IfcProductDefinitionShape (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcRepresentation > > v3_Representations); - typedef IfcProductDefinitionShape* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProductDefinitionShape > > list; - typedef IfcTemplatedEntityList< IfcProductDefinitionShape >::it it; + IfcProductDefinitionShape (IfcAbstractEntity* e); + IfcProductDefinitionShape (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + typedef IfcTemplatedEntityList< IfcProductDefinitionShape > list; }; /// This is a collection of properties applicable to section profile definitions. /// @@ -16348,20 +15924,18 @@ public: class IfcProfileProperties : public IfcExtendedProperties { public: /// Profile definition which is qualified by these properties. - IfcProfileDef* ProfileDefinition(); + IfcProfileDef* ProfileDefinition() const; void setProfileDefinition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ProfileDefinition"; } return IfcExtendedProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProfileProperties (IfcAbstractEntityPtr e); - IfcProfileProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v3_Properties, IfcProfileDef* v4_ProfileDefinition); - typedef IfcProfileProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProfileProperties > > list; - typedef IfcTemplatedEntityList< IfcProfileProperties >::it it; + IfcProfileProperties (IfcAbstractEntity* e); + IfcProfileProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcProfileDef* v4_ProfileDefinition); + typedef IfcTemplatedEntityList< IfcProfileProperties > list; }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. /// @@ -16369,29 +15943,27 @@ public: class IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. - IfcIdentifier Name(); + IfcIdentifier Name() const; void setName(IfcIdentifier v); /// Whether the optional attribute Description is defined for this IfcProperty - bool hasDescription(); + bool hasDescription() const; /// Informative text to explain the property. - IfcText Description(); + IfcText Description() const; void setDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } return IfcPropertyAbstraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } return IfcPropertyAbstraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcPropertySet > > PartOfPset(); // INVERSE IfcPropertySet::HasProperties - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > PropertyForDependance(); // INVERSE IfcPropertyDependencyRelationship::DependingProperty - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > PropertyDependsOn(); // INVERSE IfcPropertyDependencyRelationship::DependantProperty - SHARED_PTR< IfcTemplatedEntityList< IfcComplexProperty > > PartOfComplex(); // INVERSE IfcComplexProperty::HasProperties + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcPropertySet >::ptr PartOfPset() const; // INVERSE IfcPropertySet::HasProperties + IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyForDependance() const; // INVERSE IfcPropertyDependencyRelationship::DependingProperty + IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyDependsOn() const; // INVERSE IfcPropertyDependencyRelationship::DependantProperty + IfcTemplatedEntityList< IfcComplexProperty >::ptr PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProperty (IfcAbstractEntityPtr e); + IfcProperty (IfcAbstractEntity* e); IfcProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > list; - typedef IfcTemplatedEntityList< IfcProperty >::it it; + typedef IfcTemplatedEntityList< IfcProperty > list; }; /// IfcPropertyDefinition defines the generalization of /// all characteristics (i.e. a grouping of individual properties), @@ -16448,17 +16020,15 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDeclares > > HasContext(); // INVERSE IfcRelDeclares::RelatedDefinitions - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > HasAssociations(); // INVERSE IfcRelAssociates::RelatedObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDeclares >::ptr HasContext() const; // INVERSE IfcRelDeclares::RelatedDefinitions + IfcTemplatedEntityList< IfcRelAssociates >::ptr HasAssociations() const; // INVERSE IfcRelAssociates::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyDefinition (IfcAbstractEntityPtr e); + IfcPropertyDefinition (IfcAbstractEntity* e); IfcPropertyDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertyDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDefinition > > list; - typedef IfcTemplatedEntityList< IfcPropertyDefinition >::it it; + typedef IfcTemplatedEntityList< IfcPropertyDefinition > list; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. /// @@ -16471,28 +16041,26 @@ public: class IfcPropertyDependencyRelationship : public IfcResourceLevelRelationship { public: /// The property on which the relationship depends. - IfcProperty* DependingProperty(); + IfcProperty* DependingProperty() const; void setDependingProperty(IfcProperty* v); /// The dependant property. - IfcProperty* DependantProperty(); + IfcProperty* DependantProperty() const; void setDependantProperty(IfcProperty* v); /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship - bool hasExpression(); + bool hasExpression() const; /// Expression that further describes the nature of the dependency relation. - IfcText Expression(); + IfcText Expression() const; void setExpression(IfcText v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "DependingProperty"; case 3: return "DependantProperty"; case 4: return "Expression"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyDependencyRelationship (IfcAbstractEntityPtr e); + IfcPropertyDependencyRelationship (IfcAbstractEntity* e); IfcPropertyDependencyRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< IfcText > v5_Expression); - typedef IfcPropertyDependencyRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyDependencyRelationship > > list; - typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::it it; + typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship > list; }; /// IfcPropertySetDefinition is a generalization of all /// individual property sets that can be assigned to an object or type @@ -16541,18 +16109,16 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertyDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcTypeObject > > DefinesType(); // INVERSE IfcTypeObject::HasPropertySets - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByTemplate > > IsDefinedBy(); // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > DefinesOccurrence(); // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcTypeObject >::ptr DefinesType() const; // INVERSE IfcTypeObject::HasPropertySets + IfcTemplatedEntityList< IfcRelDefinesByTemplate >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByTemplate::RelatedPropertySets + IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr DefinesOccurrence() const; // INVERSE IfcRelDefinesByProperties::RelatingPropertyDefinition bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySetDefinition (IfcAbstractEntityPtr e); + IfcPropertySetDefinition (IfcAbstractEntity* e); IfcPropertySetDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertySetDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > list; - typedef IfcTemplatedEntityList< IfcPropertySetDefinition >::it it; + typedef IfcTemplatedEntityList< IfcPropertySetDefinition > list; }; /// IfcPropertyTemplateDefinition is a generalization of /// all property and property set templates. Templates define the @@ -16584,15 +16150,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertyDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyTemplateDefinition (IfcAbstractEntityPtr e); + IfcPropertyTemplateDefinition (IfcAbstractEntity* e); IfcPropertyTemplateDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertyTemplateDefinition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplateDefinition > > list; - typedef IfcTemplatedEntityList< IfcPropertyTemplateDefinition >::it it; + typedef IfcTemplatedEntityList< IfcPropertyTemplateDefinition > list; }; class IfcQuantitySet : public IfcPropertySetDefinition { @@ -16600,15 +16164,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcQuantitySet (IfcAbstractEntityPtr e); + IfcQuantitySet (IfcAbstractEntity* e); IfcQuantitySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcQuantitySet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcQuantitySet > > list; - typedef IfcTemplatedEntityList< IfcQuantitySet >::it it; + 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. /// @@ -16647,23 +16209,21 @@ public: class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. - IfcPositiveLengthMeasure XDim(); + IfcPositiveLengthMeasure XDim() const; void setXDim(IfcPositiveLengthMeasure v); /// The extent of the rectangle in the direction of the y-axis. - IfcPositiveLengthMeasure YDim(); + IfcPositiveLengthMeasure YDim() const; void setYDim(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "XDim"; case 4: return "YDim"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangleProfileDef (IfcAbstractEntityPtr e); + IfcRectangleProfileDef (IfcAbstractEntity* e); IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim); - typedef IfcRectangleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangleProfileDef > > list; - typedef IfcTemplatedEntityList< IfcRectangleProfileDef >::it it; + 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. /// @@ -16673,23 +16233,21 @@ public: class IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. - IfcTimeMeasure TimeStep(); + IfcTimeMeasure TimeStep() const; void setTimeStep(IfcTimeMeasure v); /// The collection of time series values. - SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > Values(); - void setValues(SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v); + IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr Values() const; + void setValues(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "TimeStep"; case 9: return "Values"; } return IfcTimeSeries::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRegularTimeSeries (IfcAbstractEntityPtr e); - IfcRegularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, SHARED_PTR< IfcTemplatedEntityList< IfcTimeSeriesValue > > v10_Values); - typedef IfcRegularTimeSeries* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRegularTimeSeries > > list; - typedef IfcTemplatedEntityList< IfcRegularTimeSeries >::it it; + IfcRegularTimeSeries (IfcAbstractEntity* e); + IfcRegularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); + typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. /// @@ -16699,43 +16257,41 @@ public: class IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. - IfcAreaMeasure TotalCrossSectionArea(); + IfcAreaMeasure TotalCrossSectionArea() const; void setTotalCrossSectionArea(IfcAreaMeasure v); /// The nominal steel grade defined according to local standards. - IfcLabel SteelGrade(); + IfcLabel SteelGrade() const; void setSteelGrade(IfcLabel v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties - bool hasBarSurface(); + bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface(); + IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties - bool hasEffectiveDepth(); + bool hasEffectiveDepth() const; /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - IfcLengthMeasure EffectiveDepth(); + IfcLengthMeasure EffectiveDepth() const; void setEffectiveDepth(IfcLengthMeasure v); /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties - bool hasNominalBarDiameter(); + bool hasNominalBarDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - IfcPositiveLengthMeasure NominalBarDiameter(); + IfcPositiveLengthMeasure NominalBarDiameter() const; void setNominalBarDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties - bool hasBarCount(); + bool hasBarCount() const; /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - IfcCountMeasure BarCount(); + IfcCountMeasure BarCount() const; void setBarCount(IfcCountMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TotalCrossSectionArea"; case 1: return "SteelGrade"; case 2: return "BarSurface"; case 3: return "EffectiveDepth"; case 4: return "NominalBarDiameter"; case 5: return "BarCount"; } return IfcPreDefinedProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcementBarProperties (IfcAbstractEntityPtr e); + IfcReinforcementBarProperties (IfcAbstractEntity* e); IfcReinforcementBarProperties (IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount); - typedef IfcReinforcementBarProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > list; - typedef IfcTemplatedEntityList< IfcReinforcementBarProperties >::it it; + typedef IfcTemplatedEntityList< IfcReinforcementBarProperties > list; }; /// IfcRelationship is the abstract generalization of all objectified relationships in IFC. Objectified relationships are the preferred way to handle relationships among objects. This allows to keep relationship specific properties directly at the relationship and opens the possibility to later handle relationship specific behavior. /// @@ -16750,15 +16306,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRoot::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRoot::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelationship (IfcAbstractEntityPtr e); + IfcRelationship (IfcAbstractEntity* e); IfcRelationship (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelationship > > list; - typedef IfcTemplatedEntityList< IfcRelationship >::it it; + typedef IfcTemplatedEntityList< IfcRelationship > list; }; /// An IfcResourceApprovalRelationship is used for /// associating an approval to resource objects. A single approval @@ -16769,23 +16323,21 @@ public: class IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RelatedResourceObjects(); - void setRelatedResourceObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// The approval for the resource objects selected. - IfcApproval* RelatingApproval(); + IfcApproval* RelatingApproval() const; void setRelatingApproval(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatedResourceObjects"; case 3: return "RelatingApproval"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcResourceApprovalRelationship (IfcAbstractEntityPtr e); - IfcResourceApprovalRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcEntities v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval); - typedef IfcResourceApprovalRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcResourceApprovalRelationship > > list; - typedef IfcTemplatedEntityList< IfcResourceApprovalRelationship >::it it; + IfcResourceApprovalRelationship (IfcAbstractEntity* e); + IfcResourceApprovalRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval); + typedef IfcTemplatedEntityList< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship /// entity that enables a constraint to be related to one or more @@ -16810,115 +16362,111 @@ public: class IfcResourceConstraintRelationship : public IfcResourceLevelRelationship { public: /// The constraint that is to be related. - IfcConstraint* RelatingConstraint(); + IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); /// The properties to which a constraint is to be related. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RelatedResourceObjects(); - void setRelatedResourceObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingConstraint"; case 3: return "RelatedResourceObjects"; } return IfcResourceLevelRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcResourceConstraintRelationship (IfcAbstractEntityPtr e); - IfcResourceConstraintRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntities v4_RelatedResourceObjects); - typedef IfcResourceConstraintRelationship* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcResourceConstraintRelationship > > list; - typedef IfcTemplatedEntityList< IfcResourceConstraintRelationship >::it it; + IfcResourceConstraintRelationship (IfcAbstractEntity* e); + IfcResourceConstraintRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects); + typedef IfcTemplatedEntityList< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. /// HISTORY: New entity in IFC2x4. class IfcResourceTime : public IfcSchedulingTime { public: /// Whether the optional attribute ScheduleWork is defined for this IfcResourceTime - bool hasScheduleWork(); + bool hasScheduleWork() const; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. - IfcDuration ScheduleWork(); + IfcDuration ScheduleWork() const; void setScheduleWork(IfcDuration v); /// Whether the optional attribute ScheduleUsage is defined for this IfcResourceTime - bool hasScheduleUsage(); + bool hasScheduleUsage() const; /// Indicates the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%. - IfcPositiveRatioMeasure ScheduleUsage(); + IfcPositiveRatioMeasure ScheduleUsage() const; void setScheduleUsage(IfcPositiveRatioMeasure v); /// Whether the optional attribute ScheduleStart is defined for this IfcResourceTime - bool hasScheduleStart(); + bool hasScheduleStart() const; /// Indicates the time when the resource is scheduled to start working. - IfcDateTime ScheduleStart(); + IfcDateTime ScheduleStart() const; void setScheduleStart(IfcDateTime v); /// Whether the optional attribute ScheduleFinish is defined for this IfcResourceTime - bool hasScheduleFinish(); + bool hasScheduleFinish() const; /// Indicates the time when the resource is scheduled to finish working. - IfcDateTime ScheduleFinish(); + IfcDateTime ScheduleFinish() const; void setScheduleFinish(IfcDateTime v); /// Whether the optional attribute ScheduleContour is defined for this IfcResourceTime - bool hasScheduleContour(); + bool hasScheduleContour() const; /// Indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve. Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'. Custom values may specify a custom name or formula. - IfcLabel ScheduleContour(); + IfcLabel ScheduleContour() const; void setScheduleContour(IfcLabel v); /// Whether the optional attribute LevelingDelay is defined for this IfcResourceTime - bool hasLevelingDelay(); + bool hasLevelingDelay() const; /// Indicates a delay in the ScheduleStart caused by leveling. - IfcDuration LevelingDelay(); + IfcDuration LevelingDelay() const; void setLevelingDelay(IfcDuration v); /// Whether the optional attribute IsOverAllocated is defined for this IfcResourceTime - bool hasIsOverAllocated(); + bool hasIsOverAllocated() const; /// Indicates that the resource is scheduled in excess of its capacity. - bool IsOverAllocated(); + bool IsOverAllocated() const; void setIsOverAllocated(bool v); /// Whether the optional attribute StatusTime is defined for this IfcResourceTime - bool hasStatusTime(); + bool hasStatusTime() const; /// Indicates the date and time for which status values are applicable; particularly completion, actual, and remaining values. If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values may be determined from such time-phased data as of the StatusTime. - IfcDateTime StatusTime(); + IfcDateTime StatusTime() const; void setStatusTime(IfcDateTime v); /// Whether the optional attribute ActualWork is defined for this IfcResourceTime - bool hasActualWork(); + bool hasActualWork() const; /// Indicates the actual work performed by the resource as of the StatusTime. - IfcDuration ActualWork(); + IfcDuration ActualWork() const; void setActualWork(IfcDuration v); /// Whether the optional attribute ActualUsage is defined for this IfcResourceTime - bool hasActualUsage(); + bool hasActualUsage() const; /// Indicates the actual amount of the resource used concurrently. - IfcPositiveRatioMeasure ActualUsage(); + IfcPositiveRatioMeasure ActualUsage() const; void setActualUsage(IfcPositiveRatioMeasure v); /// Whether the optional attribute ActualStart is defined for this IfcResourceTime - bool hasActualStart(); + bool hasActualStart() const; /// Indicates the time when the resource actually started working. - IfcDateTime ActualStart(); + IfcDateTime ActualStart() const; void setActualStart(IfcDateTime v); /// Whether the optional attribute ActualFinish is defined for this IfcResourceTime - bool hasActualFinish(); + bool hasActualFinish() const; /// Indicates the time when the resource actually finished working. - IfcDateTime ActualFinish(); + IfcDateTime ActualFinish() const; void setActualFinish(IfcDateTime v); /// Whether the optional attribute RemainingWork is defined for this IfcResourceTime - bool hasRemainingWork(); + bool hasRemainingWork() const; /// Indicates the work remaining to be completed by the resource. - IfcDuration RemainingWork(); + IfcDuration RemainingWork() const; void setRemainingWork(IfcDuration v); /// Whether the optional attribute RemainingUsage is defined for this IfcResourceTime - bool hasRemainingUsage(); - IfcPositiveRatioMeasure RemainingUsage(); + bool hasRemainingUsage() const; + IfcPositiveRatioMeasure RemainingUsage() const; void setRemainingUsage(IfcPositiveRatioMeasure v); /// Whether the optional attribute Completion is defined for this IfcResourceTime - bool hasCompletion(); + bool hasCompletion() const; /// Indicates the percent completion of this resource. If the resource is assigned to a task, then indicates completion of the task on behalf of the resource; if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations. - IfcPositiveRatioMeasure Completion(); + IfcPositiveRatioMeasure Completion() const; void setCompletion(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 18; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_STRING; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ScheduleWork"; case 4: return "ScheduleUsage"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "ScheduleContour"; case 8: return "LevelingDelay"; case 9: return "IsOverAllocated"; case 10: return "StatusTime"; case 11: return "ActualWork"; case 12: return "ActualUsage"; case 13: return "ActualStart"; case 14: return "ActualFinish"; case 15: return "RemainingWork"; case 16: return "RemainingUsage"; case 17: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcResourceTime (IfcAbstractEntityPtr e); + IfcResourceTime (IfcAbstractEntity* e); IfcResourceTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDuration > v4_ScheduleWork, boost::optional< IfcPositiveRatioMeasure > v5_ScheduleUsage, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcLabel > v8_ScheduleContour, boost::optional< IfcDuration > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< IfcDateTime > v11_StatusTime, boost::optional< IfcDuration > v12_ActualWork, boost::optional< IfcPositiveRatioMeasure > v13_ActualUsage, boost::optional< IfcDateTime > v14_ActualStart, boost::optional< IfcDateTime > v15_ActualFinish, boost::optional< IfcDuration > v16_RemainingWork, boost::optional< IfcPositiveRatioMeasure > v17_RemainingUsage, boost::optional< IfcPositiveRatioMeasure > v18_Completion); - typedef IfcResourceTime* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcResourceTime > > list; - typedef IfcTemplatedEntityList< IfcResourceTime >::it it; + typedef IfcTemplatedEntityList< IfcResourceTime > list; }; /// IfcRoundedRectangleProfileDef defines a rectangle with equally rounded corners as the profile definition used by the swept surface geometry or the swept area solid. It is given by the X extent, the Y extent, and the radius for the rounded corners, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -16960,20 +16508,18 @@ public: class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. - IfcPositiveLengthMeasure RoundingRadius(); + IfcPositiveLengthMeasure RoundingRadius() const; void setRoundingRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RoundingRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoundedRectangleProfileDef (IfcAbstractEntityPtr e); + IfcRoundedRectangleProfileDef (IfcAbstractEntity* e); IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius); - typedef IfcRoundedRectangleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > > list; - typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef >::it it; + 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. /// @@ -16983,28 +16529,26 @@ public: 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(); + IfcSectionTypeEnum::IfcSectionTypeEnum SectionType() const; void setSectionType(IfcSectionTypeEnum::IfcSectionTypeEnum v); /// The cross section profile at the start point of the longitudinal section. - IfcProfileDef* StartProfile(); + IfcProfileDef* StartProfile() const; void setStartProfile(IfcProfileDef* v); /// Whether the optional attribute EndProfile is defined for this IfcSectionProperties - bool hasEndProfile(); + bool hasEndProfile() const; /// The cross section profile at the end point of the longitudinal section. - IfcProfileDef* EndProfile(); + IfcProfileDef* EndProfile() const; void setEndProfile(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SectionType"; case 1: return "StartProfile"; case 2: return "EndProfile"; } return IfcPreDefinedProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSectionProperties (IfcAbstractEntityPtr e); + IfcSectionProperties (IfcAbstractEntity* e); IfcSectionProperties (IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile); - typedef IfcSectionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionProperties > > list; - typedef IfcTemplatedEntityList< IfcSectionProperties >::it it; + 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. /// @@ -17016,37 +16560,35 @@ public: class IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalStartPosition(); + IfcLengthMeasure LongitudinalStartPosition() const; void setLongitudinalStartPosition(IfcLengthMeasure v); /// The end position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalEndPosition(); + IfcLengthMeasure LongitudinalEndPosition() const; void setLongitudinalEndPosition(IfcLengthMeasure v); /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties - bool hasTransversePosition(); + bool hasTransversePosition() const; /// The position for the section reinforcement properties in transverse direction. - IfcLengthMeasure TransversePosition(); + IfcLengthMeasure TransversePosition() const; void setTransversePosition(IfcLengthMeasure 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(); + IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum ReinforcementRole() const; void setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); /// Definition of the cross section profile and longitudinal section type. - IfcSectionProperties* SectionDefinition(); + IfcSectionProperties* SectionDefinition() const; void setSectionDefinition(IfcSectionProperties* v); /// The set of reinforcment properties attached to a section reinforcement properties definition. - SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > CrossSectionReinforcementDefinitions(); - void setCrossSectionReinforcementDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v); + IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr CrossSectionReinforcementDefinitions() const; + void setCrossSectionReinforcementDefinitions(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LongitudinalStartPosition"; case 1: return "LongitudinalEndPosition"; case 2: return "TransversePosition"; case 3: return "ReinforcementRole"; case 4: return "SectionDefinition"; case 5: return "CrossSectionReinforcementDefinitions"; } return IfcPreDefinedProperties::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSectionReinforcementProperties (IfcAbstractEntityPtr e); - IfcSectionReinforcementProperties (IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementBarProperties > > v6_CrossSectionReinforcementDefinitions); - typedef IfcSectionReinforcementProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > list; - typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties >::it it; + IfcSectionReinforcementProperties (IfcAbstractEntity* e); + IfcSectionReinforcementProperties (IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); + typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties > list; }; /// Definition from ISO 10303-42:1999: A sectioned /// spine is a representation of the shape of a three dimensional @@ -17104,26 +16646,24 @@ public: 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(); + IfcCompositeCurve* SpineCurve() const; void setSpineCurve(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. - SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > CrossSections(); - void setCrossSections(SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v); + IfcTemplatedEntityList< IfcProfileDef >::ptr CrossSections() const; + void setCrossSections(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. - SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > CrossSectionPositions(); - void setCrossSectionPositions(SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v); + IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr CrossSectionPositions() const; + void setCrossSectionPositions(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SpineCurve"; case 1: return "CrossSections"; case 2: return "CrossSectionPositions"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSectionedSpine (IfcAbstractEntityPtr e); - IfcSectionedSpine (IfcCompositeCurve* v1_SpineCurve, SHARED_PTR< IfcTemplatedEntityList< IfcProfileDef > > v2_CrossSections, SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > v3_CrossSectionPositions); - typedef IfcSectionedSpine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSectionedSpine > > list; - typedef IfcTemplatedEntityList< IfcSectionedSpine >::it it; + IfcSectionedSpine (IfcAbstractEntity* e); + IfcSectionedSpine (IfcCompositeCurve* v1_SpineCurve, IfcTemplatedEntityList< IfcProfileDef >::ptr v2_CrossSections, IfcTemplatedEntityList< IfcAxis2Placement3D >::ptr v3_CrossSectionPositions); + typedef IfcTemplatedEntityList< IfcSectionedSpine > 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. /// @@ -17139,20 +16679,18 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > SbsmBoundary(); - void setSbsmBoundary(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr SbsmBoundary() const; + void setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SbsmBoundary"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShellBasedSurfaceModel (IfcAbstractEntityPtr e); - IfcShellBasedSurfaceModel (IfcEntities v1_SbsmBoundary); - typedef IfcShellBasedSurfaceModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShellBasedSurfaceModel > > list; - typedef IfcTemplatedEntityList< IfcShellBasedSurfaceModel >::it it; + IfcShellBasedSurfaceModel (IfcAbstractEntity* e); + IfcShellBasedSurfaceModel (IfcEntityList::ptr v1_SbsmBoundary); + typedef IfcTemplatedEntityList< IfcShellBasedSurfaceModel > list; }; /// IfcSimpleProperty is a generalization of a single property object. The various subtypes of IfcSimpleProperty establish different ways in which a property value can be set. /// @@ -17162,15 +16700,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSimpleProperty (IfcAbstractEntityPtr e); + IfcSimpleProperty (IfcAbstractEntity* e); IfcSimpleProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); - typedef IfcSimpleProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSimpleProperty > > list; - typedef IfcTemplatedEntityList< IfcSimpleProperty >::it it; + typedef IfcTemplatedEntityList< IfcSimpleProperty > list; }; /// Definition from IAI: Describes slippage in support conditions or connection conditions. Slippage means that a relative displacement may occur in a support or connection before support or connection reactions are awoken. /// @@ -17184,32 +16720,30 @@ public: class IfcSlippageConnectionCondition : public IfcStructuralConnectionCondition { public: /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition - bool hasSlippageX(); + bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageX(); + IfcLengthMeasure SlippageX() const; void setSlippageX(IfcLengthMeasure v); /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition - bool hasSlippageY(); + bool hasSlippageY() const; /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageY(); + IfcLengthMeasure SlippageY() const; void setSlippageY(IfcLengthMeasure v); /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition - bool hasSlippageZ(); + bool hasSlippageZ() const; /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageZ(); + IfcLengthMeasure SlippageZ() const; void setSlippageZ(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SlippageX"; case 2: return "SlippageY"; case 3: return "SlippageZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlippageConnectionCondition (IfcAbstractEntityPtr e); + IfcSlippageConnectionCondition (IfcAbstractEntity* e); IfcSlippageConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ); - typedef IfcSlippageConnectionCondition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlippageConnectionCondition > > list; - typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition >::it it; + typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition > list; }; /// Definition from ISO/CD 10303-42:1992: A solid model is a complete representation of the nominal shape of a product such that all points in the interior are connected. Any point can be classified as being inside, outside, or on the boundary of a solid. There are several different types of solid model representations. /// @@ -17221,15 +16755,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSolidModel (IfcAbstractEntityPtr e); + IfcSolidModel (IfcAbstractEntity* e); IfcSolidModel (); - typedef IfcSolidModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSolidModel > > list; - typedef IfcTemplatedEntityList< IfcSolidModel >::it it; + typedef IfcTemplatedEntityList< IfcSolidModel > list; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadLinearForce shall be used to define actions on curves. @@ -17239,47 +16771,45 @@ public: class IfcStructuralLoadLinearForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceX(); + bool hasLinearForceX() const; /// Linear force value in x-direction. - IfcLinearForceMeasure LinearForceX(); + IfcLinearForceMeasure LinearForceX() const; void setLinearForceX(IfcLinearForceMeasure v); /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceY(); + bool hasLinearForceY() const; /// Linear force value in y-direction. - IfcLinearForceMeasure LinearForceY(); + IfcLinearForceMeasure LinearForceY() const; void setLinearForceY(IfcLinearForceMeasure v); /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearForceZ(); + bool hasLinearForceZ() const; /// Linear force value in z-direction. - IfcLinearForceMeasure LinearForceZ(); + IfcLinearForceMeasure LinearForceZ() const; void setLinearForceZ(IfcLinearForceMeasure v); /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentX(); + bool hasLinearMomentX() const; /// Linear moment about the x-axis. - IfcLinearMomentMeasure LinearMomentX(); + IfcLinearMomentMeasure LinearMomentX() const; void setLinearMomentX(IfcLinearMomentMeasure v); /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentY(); + bool hasLinearMomentY() const; /// Linear moment about the y-axis. - IfcLinearMomentMeasure LinearMomentY(); + IfcLinearMomentMeasure LinearMomentY() const; void setLinearMomentY(IfcLinearMomentMeasure v); /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce - bool hasLinearMomentZ(); + bool hasLinearMomentZ() const; /// Linear moment about the z-axis. - IfcLinearMomentMeasure LinearMomentZ(); + IfcLinearMomentMeasure LinearMomentZ() const; void setLinearMomentZ(IfcLinearMomentMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearForceX"; case 2: return "LinearForceY"; case 3: return "LinearForceZ"; case 4: return "LinearMomentX"; case 5: return "LinearMomentY"; case 6: return "LinearMomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadLinearForce (IfcAbstractEntityPtr e); + IfcStructuralLoadLinearForce (IfcAbstractEntity* e); IfcStructuralLoadLinearForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ); - typedef IfcStructuralLoadLinearForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadLinearForce > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce > list; }; /// Definition from IAI: An instance of the entity /// IfcStructuralLoadPlanarForce shall be used to define actions on faces. @@ -17289,32 +16819,30 @@ public: class IfcStructuralLoadPlanarForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceX(); + bool hasPlanarForceX() const; /// Planar force value in x-direction. - IfcPlanarForceMeasure PlanarForceX(); + IfcPlanarForceMeasure PlanarForceX() const; void setPlanarForceX(IfcPlanarForceMeasure v); /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceY(); + bool hasPlanarForceY() const; /// Planar force value in y-direction. - IfcPlanarForceMeasure PlanarForceY(); + IfcPlanarForceMeasure PlanarForceY() const; void setPlanarForceY(IfcPlanarForceMeasure v); /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce - bool hasPlanarForceZ(); + bool hasPlanarForceZ() const; /// Planar force value in z-direction. - IfcPlanarForceMeasure PlanarForceZ(); + IfcPlanarForceMeasure PlanarForceZ() const; void setPlanarForceZ(IfcPlanarForceMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "PlanarForceX"; case 2: return "PlanarForceY"; case 3: return "PlanarForceZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadPlanarForce (IfcAbstractEntityPtr e); + IfcStructuralLoadPlanarForce (IfcAbstractEntity* e); IfcStructuralLoadPlanarForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ); - typedef IfcStructuralLoadPlanarForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleDisplacement shall be used to define displacements. @@ -17324,47 +16852,45 @@ public: class IfcStructuralLoadSingleDisplacement : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementX(); + bool hasDisplacementX() const; /// Displacement in x-direction. - IfcLengthMeasure DisplacementX(); + IfcLengthMeasure DisplacementX() const; void setDisplacementX(IfcLengthMeasure v); /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementY(); + bool hasDisplacementY() const; /// Displacement in y-direction. - IfcLengthMeasure DisplacementY(); + IfcLengthMeasure DisplacementY() const; void setDisplacementY(IfcLengthMeasure v); /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasDisplacementZ(); + bool hasDisplacementZ() const; /// Displacement in z-direction. - IfcLengthMeasure DisplacementZ(); + IfcLengthMeasure DisplacementZ() const; void setDisplacementZ(IfcLengthMeasure v); /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRX(); + bool hasRotationalDisplacementRX() const; /// Rotation about the x-axis. - IfcPlaneAngleMeasure RotationalDisplacementRX(); + IfcPlaneAngleMeasure RotationalDisplacementRX() const; void setRotationalDisplacementRX(IfcPlaneAngleMeasure v); /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRY(); + bool hasRotationalDisplacementRY() const; /// Rotation about the y-axis. - IfcPlaneAngleMeasure RotationalDisplacementRY(); + IfcPlaneAngleMeasure RotationalDisplacementRY() const; void setRotationalDisplacementRY(IfcPlaneAngleMeasure v); /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement - bool hasRotationalDisplacementRZ(); + bool hasRotationalDisplacementRZ() const; /// Rotation about the z-axis. - IfcPlaneAngleMeasure RotationalDisplacementRZ(); + IfcPlaneAngleMeasure RotationalDisplacementRZ() const; void setRotationalDisplacementRZ(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DisplacementX"; case 2: return "DisplacementY"; case 3: return "DisplacementZ"; case 4: return "RotationalDisplacementRX"; case 5: return "RotationalDisplacementRY"; case 6: return "RotationalDisplacementRZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleDisplacement (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleDisplacement (IfcAbstractEntity* e); IfcStructuralLoadSingleDisplacement (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ); - typedef IfcStructuralLoadSingleDisplacement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > list; }; /// Definition from IAI: Defines a displacement with warping. /// @@ -17372,22 +16898,20 @@ public: class IfcStructuralLoadSingleDisplacementDistortion : public IfcStructuralLoadSingleDisplacement { public: /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion - bool hasDistortion(); + bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - IfcCurvatureMeasure Distortion(); + IfcCurvatureMeasure Distortion() const; void setDistortion(IfcCurvatureMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleDisplacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Distortion"; } return IfcStructuralLoadSingleDisplacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntity* e); IfcStructuralLoadSingleDisplacementDistortion (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion); - typedef IfcStructuralLoadSingleDisplacementDistortion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForce shall be used to define the forces and @@ -17398,47 +16922,45 @@ public: class IfcStructuralLoadSingleForce : public IfcStructuralLoadStatic { public: /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce - bool hasForceX(); + bool hasForceX() const; /// Force value in x-direction. - IfcForceMeasure ForceX(); + IfcForceMeasure ForceX() const; void setForceX(IfcForceMeasure v); /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce - bool hasForceY(); + bool hasForceY() const; /// Force value in y-direction. - IfcForceMeasure ForceY(); + IfcForceMeasure ForceY() const; void setForceY(IfcForceMeasure v); /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce - bool hasForceZ(); + bool hasForceZ() const; /// Force value in z-direction. - IfcForceMeasure ForceZ(); + IfcForceMeasure ForceZ() const; void setForceZ(IfcForceMeasure v); /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce - bool hasMomentX(); + bool hasMomentX() const; /// Moment about the x-axis. - IfcTorqueMeasure MomentX(); + IfcTorqueMeasure MomentX() const; void setMomentX(IfcTorqueMeasure v); /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce - bool hasMomentY(); + bool hasMomentY() const; /// Moment about the y-axis. - IfcTorqueMeasure MomentY(); + IfcTorqueMeasure MomentY() const; void setMomentY(IfcTorqueMeasure v); /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce - bool hasMomentZ(); + bool hasMomentZ() const; /// Moment about the z-axis. - IfcTorqueMeasure MomentZ(); + IfcTorqueMeasure MomentZ() const; void setMomentZ(IfcTorqueMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "ForceX"; case 2: return "ForceY"; case 3: return "ForceZ"; case 4: return "MomentX"; case 5: return "MomentY"; case 6: return "MomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleForce (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleForce (IfcAbstractEntity* e); IfcStructuralLoadSingleForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ); - typedef IfcStructuralLoadSingleForce* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleForce > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce > list; }; /// Definition from IAI: Instances of the entity /// IfcStructuralLoadSingleForceWarping, as a subtype of @@ -17451,22 +16973,20 @@ public: class IfcStructuralLoadSingleForceWarping : public IfcStructuralLoadSingleForce { public: /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping - bool hasWarpingMoment(); + bool hasWarpingMoment() const; /// The warping moment at the point load. - IfcWarpingMomentMeasure WarpingMoment(); + IfcWarpingMomentMeasure WarpingMoment() const; void setWarpingMoment(IfcWarpingMomentMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleForce::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingMoment"; } return IfcStructuralLoadSingleForce::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadSingleForceWarping (IfcAbstractEntityPtr e); + IfcStructuralLoadSingleForceWarping (IfcAbstractEntity* e); IfcStructuralLoadSingleForceWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment); - typedef IfcStructuralLoadSingleForceWarping* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > list; }; /// Definition from ISO/DIS 10303-42:1999(E): A subedge is an edge whose domain is a connected portion of the domain of an existing edge. The topological constraints on a subedge are the same as those on an edge. /// @@ -17481,20 +17001,18 @@ public: class IfcSubedge : public IfcEdge { public: /// The Edge, or Subedge, which contains the Subedge. - IfcEdge* ParentEdge(); + IfcEdge* ParentEdge() const; void setParentEdge(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ParentEdge"; } return IfcEdge::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSubedge (IfcAbstractEntityPtr e); + IfcSubedge (IfcAbstractEntity* e); IfcSubedge (IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcEdge* v3_ParentEdge); - typedef IfcSubedge* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubedge > > list; - typedef IfcTemplatedEntityList< IfcSubedge >::it it; + typedef IfcTemplatedEntityList< IfcSubedge > list; }; /// Definition from ISO/CD 10303-42:1992: A surface can be envisioned as a set of connected points in 3-dimensional space which is always locally 2-dimensional, but need not be a manifold. /// @@ -17511,15 +17029,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurface (IfcAbstractEntityPtr e); + IfcSurface (IfcAbstractEntity* e); IfcSurface (); - typedef IfcSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurface > > list; - typedef IfcTemplatedEntityList< IfcSurface >::it it; + typedef IfcTemplatedEntityList< IfcSurface > list; }; /// IfcSurfaceStyleRendering holds the properties for visualization related to a particular surface side style. /// @@ -17569,66 +17085,64 @@ public: class IfcSurfaceStyleRendering : public IfcSurfaceStyleShading { public: /// Whether the optional attribute Transparency is defined for this IfcSurfaceStyleRendering - bool hasTransparency(); + bool hasTransparency() const; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. - IfcNormalisedRatioMeasure Transparency(); + IfcNormalisedRatioMeasure Transparency() const; void setTransparency(IfcNormalisedRatioMeasure v); /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseColour(); + bool hasDiffuseColour() const; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. - IfcColourOrFactor DiffuseColour(); + IfcColourOrFactor DiffuseColour() const; void setDiffuseColour(IfcColourOrFactor v); /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasTransmissionColour(); + bool hasTransmissionColour() const; /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. - IfcColourOrFactor TransmissionColour(); + IfcColourOrFactor TransmissionColour() const; void setTransmissionColour(IfcColourOrFactor v); /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering - bool hasDiffuseTransmissionColour(); + bool hasDiffuseTransmissionColour() const; /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. - IfcColourOrFactor DiffuseTransmissionColour(); + IfcColourOrFactor DiffuseTransmissionColour() const; void setDiffuseTransmissionColour(IfcColourOrFactor v); /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering - bool hasReflectionColour(); + bool hasReflectionColour() const; /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. - IfcColourOrFactor ReflectionColour(); + IfcColourOrFactor ReflectionColour() const; void setReflectionColour(IfcColourOrFactor v); /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering - bool hasSpecularColour(); + bool hasSpecularColour() const; /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. - IfcColourOrFactor SpecularColour(); + IfcColourOrFactor SpecularColour() const; void setSpecularColour(IfcColourOrFactor v); /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering - bool hasSpecularHighlight(); + bool hasSpecularHighlight() const; /// The exponent or roughness part of the specular reflectance. - IfcSpecularHighlightSelect SpecularHighlight(); + IfcSpecularHighlightSelect SpecularHighlight() const; void setSpecularHighlight(IfcSpecularHighlightSelect v); /// Identifies the predefined types of reflectance method from which the method required may be set. - IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod(); + IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod() const; void setReflectanceMethod(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Transparency"; case 2: return "DiffuseColour"; case 3: return "TransmissionColour"; case 4: return "DiffuseTransmissionColour"; case 5: return "ReflectionColour"; case 6: return "SpecularColour"; case 7: return "SpecularHighlight"; case 8: return "ReflectanceMethod"; } return IfcSurfaceStyleShading::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceStyleRendering (IfcAbstractEntityPtr e); + IfcSurfaceStyleRendering (IfcAbstractEntity* e); IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); - typedef IfcSurfaceStyleRendering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceStyleRendering > > list; - typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering >::it it; + typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area /// solid entity collects the entities which are defined @@ -17651,25 +17165,23 @@ public: 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(); + IfcProfileDef* SweptArea() const; void setSweptArea(IfcProfileDef* v); /// Whether the optional attribute Position is defined for this IfcSweptAreaSolid - bool hasPosition(); + bool hasPosition() const; /// Position coordinate system for the swept area, provided by a profile definition within the XY plane of the Position. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SweptArea"; case 1: return "Position"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptAreaSolid (IfcAbstractEntityPtr e); + IfcSweptAreaSolid (IfcAbstractEntity* e); IfcSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position); - typedef IfcSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcSweptAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcSweptAreaSolid > list; }; /// Definition from ISO 10303-42:2002: A swept /// disk solid is the solid produced by sweeping a circular disk @@ -17727,42 +17239,40 @@ public: 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(); + IfcCurve* Directrix() const; void setDirectrix(IfcCurve* v); /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid - bool hasInnerRadius(); + bool hasInnerRadius() const; /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - IfcPositiveLengthMeasure InnerRadius(); + IfcPositiveLengthMeasure InnerRadius() const; void setInnerRadius(IfcPositiveLengthMeasure v); /// Whether the optional attribute StartParam is defined for this IfcSweptDiskSolid - bool hasStartParam(); + bool hasStartParam() const; /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue StartParam(); + IfcParameterValue StartParam() const; void setStartParam(IfcParameterValue v); /// Whether the optional attribute EndParam is defined for this IfcSweptDiskSolid - bool hasEndParam(); + bool hasEndParam() const; /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue EndParam(); + IfcParameterValue EndParam() const; void setEndParam(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Directrix"; case 1: return "Radius"; case 2: return "InnerRadius"; case 3: return "StartParam"; case 4: return "EndParam"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptDiskSolid (IfcAbstractEntityPtr e); + IfcSweptDiskSolid (IfcAbstractEntity* e); IfcSweptDiskSolid (IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam); - typedef IfcSweptDiskSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptDiskSolid > > list; - typedef IfcTemplatedEntityList< IfcSweptDiskSolid >::it it; + typedef IfcTemplatedEntityList< IfcSweptDiskSolid > list; }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. /// @@ -17777,22 +17287,20 @@ public: class IfcSweptDiskSolidPolygonal : public IfcSweptDiskSolid { public: /// Whether the optional attribute FilletRadius is defined for this IfcSweptDiskSolidPolygonal - bool hasFilletRadius(); + bool hasFilletRadius() const; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. - IfcPositiveLengthMeasure FilletRadius(); + IfcPositiveLengthMeasure FilletRadius() const; void setFilletRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcSweptDiskSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "FilletRadius"; } return IfcSweptDiskSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptDiskSolidPolygonal (IfcAbstractEntityPtr e); + IfcSweptDiskSolidPolygonal (IfcAbstractEntity* e); IfcSweptDiskSolidPolygonal (IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, boost::optional< IfcPositiveLengthMeasure > v6_FilletRadius); - typedef IfcSweptDiskSolidPolygonal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptDiskSolidPolygonal > > list; - typedef IfcTemplatedEntityList< IfcSweptDiskSolidPolygonal >::it it; + typedef IfcTemplatedEntityList< IfcSweptDiskSolidPolygonal > list; }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. /// @@ -17802,25 +17310,23 @@ public: 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(); + IfcProfileDef* SweptCurve() const; void setSweptCurve(IfcProfileDef* v); /// Whether the optional attribute Position is defined for this IfcSweptSurface - bool hasPosition(); + bool hasPosition() const; /// Position coordinate system for the placement of the profile within the xy plane of the axis placement. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SweptCurve"; case 1: return "Position"; } return IfcSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSweptSurface (IfcAbstractEntityPtr e); + IfcSweptSurface (IfcAbstractEntity* e); IfcSweptSurface (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position); - typedef IfcSweptSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSweptSurface > > list; - typedef IfcTemplatedEntityList< IfcSweptSurface >::it it; + typedef IfcTemplatedEntityList< IfcSweptSurface > list; }; /// IfcTShapeProfileDef defines /// a section profile that provides the defining parameters of a T-shaped @@ -17853,54 +17359,52 @@ public: class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth(); + IfcPositiveLengthMeasure FlangeWidth() const; void setFlangeWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius(); + IfcNonNegativeLengthMeasure FilletRadius() const; void setFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef - bool hasFlangeEdgeRadius(); + bool hasFlangeEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure FlangeEdgeRadius(); + IfcNonNegativeLengthMeasure FlangeEdgeRadius() const; void setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef - bool hasWebEdgeRadius(); + bool hasWebEdgeRadius() const; /// Edge radius according the above illustration (= r3). - IfcNonNegativeLengthMeasure WebEdgeRadius(); + IfcNonNegativeLengthMeasure WebEdgeRadius() const; void setWebEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef - bool hasWebSlope(); + bool hasWebSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure WebSlope(); + IfcPlaneAngleMeasure WebSlope() const; void setWebSlope(IfcPlaneAngleMeasure v); /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef - bool hasFlangeSlope(); + bool hasFlangeSlope() const; /// Slope of web of the profile. - IfcPlaneAngleMeasure FlangeSlope(); + IfcPlaneAngleMeasure FlangeSlope() const; void setFlangeSlope(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "FlangeEdgeRadius"; case 9: return "WebEdgeRadius"; case 10: return "WebSlope"; case 11: return "FlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTShapeProfileDef (IfcAbstractEntityPtr e); + IfcTShapeProfileDef (IfcAbstractEntity* e); IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcNonNegativeLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope); - typedef IfcTShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcTShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; class IfcTessellatedItem : public IfcGeometricRepresentationItem { @@ -17908,15 +17412,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTessellatedItem (IfcAbstractEntityPtr e); + IfcTessellatedItem (IfcAbstractEntity* e); IfcTessellatedItem (); - typedef IfcTessellatedItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTessellatedItem > > list; - typedef IfcTemplatedEntityList< IfcTessellatedItem >::it it; + typedef IfcTemplatedEntityList< IfcTessellatedItem > list; }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. /// @@ -17931,27 +17433,25 @@ public: class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. - IfcPresentableText Literal(); + IfcPresentableText Literal() const; void setLiteral(IfcPresentableText 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(); + IfcAxis2Placement Placement() const; void setPlacement(IfcAxis2Placement v); /// The writing direction of the text literal. - IfcTextPath::IfcTextPath Path(); + IfcTextPath::IfcTextPath Path() const; void setPath(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Literal"; case 1: return "Placement"; case 2: return "Path"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextLiteral (IfcAbstractEntityPtr e); + IfcTextLiteral (IfcAbstractEntity* e); IfcTextLiteral (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path); - typedef IfcTextLiteral* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextLiteral > > list; - typedef IfcTemplatedEntityList< IfcTextLiteral >::it it; + typedef IfcTemplatedEntityList< IfcTextLiteral > list; }; /// The text literal with extent is a text literal with the additional explicit information of the planar extent (or surrounding text box). An alignment attribute defines, how the text box is aligned to the placement and how it may expand. /// @@ -17965,23 +17465,21 @@ public: class IfcTextLiteralWithExtent : public IfcTextLiteral { public: /// The extent in the x and y direction of the text literal. - IfcPlanarExtent* Extent(); + IfcPlanarExtent* Extent() const; void setExtent(IfcPlanarExtent* v); /// The alignment of the text literal relative to its position. - IfcBoxAlignment BoxAlignment(); + IfcBoxAlignment BoxAlignment() const; void setBoxAlignment(IfcBoxAlignment v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcTextLiteral::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Extent"; case 4: return "BoxAlignment"; } return IfcTextLiteral::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextLiteralWithExtent (IfcAbstractEntityPtr e); + IfcTextLiteralWithExtent (IfcAbstractEntity* e); IfcTextLiteralWithExtent (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment); - typedef IfcTextLiteralWithExtent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextLiteralWithExtent > > list; - typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent >::it it; + typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent > list; }; /// Definition from CSS1 (W3C Recommendation): Setting font properties will be among the most common uses of style sheets. Unfortunately, there exists no well-defined and universally accepted taxonomy for classifying fonts, and terms that apply to one font family may not be appropriate for others. For example, 'italic' is commonly used to label slanted text, but slanted text may also be labeled as being Oblique, Slanted, Incline, Cursive or Kursiv. Therefore it is not a simple problem to map typical font selection properties to a specific font. /// @@ -18051,41 +17549,39 @@ public: class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// The value is a prioritized list of font family names and/or generic family names. The first list entry has the highest priority, if this font fails, the next list item shall be used. The last list item should (if possible) be a generic family. - std::vector< IfcTextFontName > /*[1:?]*/ FontFamily(); + std::vector< IfcTextFontName > /*[1:?]*/ FontFamily() const; void setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v); /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel - bool hasFontStyle(); + bool hasFontStyle() const; /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - IfcFontStyle FontStyle(); + IfcFontStyle FontStyle() const; void setFontStyle(IfcFontStyle v); /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel - bool hasFontVariant(); + bool hasFontVariant() const; /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcFontVariant FontVariant(); + IfcFontVariant FontVariant() const; void setFontVariant(IfcFontVariant v); /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel - bool hasFontWeight(); + bool hasFontWeight() const; /// The font weight property selects the weight of the font. /// NOTE  Values other then 'normal' and 'bold' have been introduced for later compliance to full CSS1 support. - IfcFontWeight FontWeight(); + IfcFontWeight FontWeight() const; void setFontWeight(IfcFontWeight v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTextStyleFontModel (IfcAbstractEntityPtr e); + IfcTextStyleFontModel (IfcAbstractEntity* e); IfcTextStyleFontModel (IfcLabel v1_Name, std::vector< IfcTextFontName > /*[1:?]*/ v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize); - typedef IfcTextStyleFontModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTextStyleFontModel > > list; - typedef IfcTemplatedEntityList< IfcTextStyleFontModel >::it it; + typedef IfcTemplatedEntityList< IfcTextStyleFontModel > list; }; /// IfcTrapeziumProfileDef defines a trapezium as the profile definition used by the swept surface geometry or the swept area solid. It is given by its Top X and Bottom X extent and its Y extent as well as by the offset of the Top X extend, and placed within the 2D position coordinate system, established by the Position attribute. It is placed centric within the position coordinate system, that is, in the center of the bounding box. /// @@ -18128,29 +17624,27 @@ public: class IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. - IfcPositiveLengthMeasure BottomXDim(); + IfcPositiveLengthMeasure BottomXDim() const; void setBottomXDim(IfcPositiveLengthMeasure v); /// The extent of the top line measured along the implicit x-axis. - IfcPositiveLengthMeasure TopXDim(); + IfcPositiveLengthMeasure TopXDim() const; void setTopXDim(IfcPositiveLengthMeasure v); /// The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis. - IfcPositiveLengthMeasure YDim(); + IfcPositiveLengthMeasure YDim() const; void setYDim(IfcPositiveLengthMeasure v); /// Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis. - IfcLengthMeasure TopXOffset(); + IfcLengthMeasure TopXOffset() const; void setTopXOffset(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "BottomXDim"; case 4: return "TopXDim"; case 5: return "YDim"; case 6: return "TopXOffset"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTrapeziumProfileDef (IfcAbstractEntityPtr e); + IfcTrapeziumProfileDef (IfcAbstractEntity* e); IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset); - typedef IfcTrapeziumProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTrapeziumProfileDef > > list; - typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef > list; }; /// The object type defines the /// specific information about a type, being common to all @@ -18186,7 +17680,7 @@ public: class IfcTypeObject : public IfcObjectDefinition { public: /// Whether the optional attribute ApplicableOccurrence is defined for this IfcTypeObject - bool hasApplicableOccurrence(); + 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 @@ -18194,28 +17688,26 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - IfcIdentifier ApplicableOccurrence(); + IfcIdentifier ApplicableOccurrence() const; void setApplicableOccurrence(IfcIdentifier v); /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject - bool hasHasPropertySets(); + bool hasHasPropertySets() const; /// Set list of unique property sets, that are associated with the object type and are common to all object occurrences referring to this object type. /// /// IFC2x3 CHANGE  The attribute aggregate type has been changed from LIST to SET. - SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > HasPropertySets(); - void setHasPropertySets(SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v); + IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr HasPropertySets() const; + void setHasPropertySets(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ApplicableOccurrence"; case 5: return "HasPropertySets"; } return IfcObjectDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > Types(); // INVERSE IfcRelDefinesByType::RelatingType + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefinesByType >::ptr Types() const; // INVERSE IfcRelDefinesByType::RelatingType bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTypeObject (IfcAbstractEntityPtr e); - IfcTypeObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets); - typedef IfcTypeObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeObject > > list; - typedef IfcTemplatedEntityList< IfcTypeObject >::it it; + IfcTypeObject (IfcAbstractEntity* e); + IfcTypeObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); + typedef IfcTemplatedEntityList< IfcTypeObject > list; }; /// IfcTypeProcess defines a /// specific (or type) definition of a process or activity without @@ -18248,35 +17740,33 @@ public: class IfcTypeProcess : public IfcTypeObject { public: /// Whether the optional attribute Identification is defined for this IfcTypeProcess - bool hasIdentification(); + bool hasIdentification() const; /// An identifying designation given to a process type. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute LongDescription is defined for this IfcTypeProcess - bool hasLongDescription(); + bool hasLongDescription() const; /// An long description, or text, describing the activity in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); /// Whether the optional attribute ProcessType is defined for this IfcTypeProcess - bool hasProcessType(); + bool hasProcessType() const; /// The type denotes a particular type that indicates the process further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ProcessType(); + IfcLabel ProcessType() const; void setProcessType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "Identification"; case 7: return "LongDescription"; case 8: return "ProcessType"; } return IfcTypeObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > OperatesOn(); // INVERSE IfcRelAssignsToProcess::RelatingProcess + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTypeProcess (IfcAbstractEntityPtr e); - IfcTypeProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType); - typedef IfcTypeProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeProcess > > list; - typedef IfcTemplatedEntityList< IfcTypeProcess >::it it; + IfcTypeProcess (IfcAbstractEntity* e); + IfcTypeProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType); + typedef IfcTemplatedEntityList< IfcTypeProcess > list; }; /// IfcTypeProduct defines a type /// definition of a product without being already inserted into a @@ -18347,28 +17837,26 @@ public: class IfcTypeProduct : public IfcTypeObject { public: /// Whether the optional attribute RepresentationMaps is defined for this IfcTypeProduct - bool hasRepresentationMaps(); + 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. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > RepresentationMaps(); - void setRepresentationMaps(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > v); + IfcTemplatedEntityList< IfcRepresentationMap >::ptr RepresentationMaps() const; + void setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v); /// Whether the optional attribute Tag is defined for this IfcTypeProduct - bool hasTag(); + bool hasTag() const; /// The tag (or label) identifier at the particular type of a product, e.g. the article number (like the EAN). It is the identifier at the specific level. - IfcLabel Tag(); + IfcLabel Tag() const; void setTag(IfcLabel v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RepresentationMaps"; case 7: return "Tag"; } return IfcTypeObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > ReferencedBy(); // INVERSE IfcRelAssignsToProduct::RelatingProduct + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTypeProduct (IfcAbstractEntityPtr e); - IfcTypeProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag); - typedef IfcTypeProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeProduct > > list; - typedef IfcTemplatedEntityList< IfcTypeProduct >::it it; + IfcTypeProduct (IfcAbstractEntity* e); + IfcTypeProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag); + 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. /// @@ -18385,35 +17873,33 @@ public: class IfcTypeResource : public IfcTypeObject { public: /// Whether the optional attribute Identification is defined for this IfcTypeResource - bool hasIdentification(); + bool hasIdentification() const; /// An identifying designation given to a resource type. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute LongDescription is defined for this IfcTypeResource - bool hasLongDescription(); + bool hasLongDescription() const; /// An long description, or text, describing the resource in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); /// Whether the optional attribute ResourceType is defined for this IfcTypeResource - bool hasResourceType(); + bool hasResourceType() const; /// The type denotes a particular type that indicates the resource further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ResourceType(); + IfcLabel ResourceType() const; void setResourceType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "Identification"; case 7: return "LongDescription"; case 8: return "ResourceType"; } return IfcTypeObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > ResourceOf(); // INVERSE IfcRelAssignsToResource::RelatingResource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTypeResource (IfcAbstractEntityPtr e); - IfcTypeResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType); - typedef IfcTypeResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTypeResource > > list; - typedef IfcTemplatedEntityList< IfcTypeResource >::it it; + IfcTypeResource (IfcAbstractEntity* e); + IfcTypeResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType); + typedef IfcTemplatedEntityList< IfcTypeResource > list; }; /// IfcUShapeProfileDef defines /// a section profile that provides the defining parameters of a U-shape @@ -18446,44 +17932,42 @@ public: class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth(); + IfcPositiveLengthMeasure FlangeWidth() const; void setFlangeWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius(); + IfcNonNegativeLengthMeasure FilletRadius() const; void setFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef - bool hasEdgeRadius(); + bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure EdgeRadius(); + IfcNonNegativeLengthMeasure EdgeRadius() const; void setEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef - bool hasFlangeSlope(); + bool hasFlangeSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure FlangeSlope(); + IfcPlaneAngleMeasure FlangeSlope() const; void setFlangeSlope(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; case 9: return "FlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUShapeProfileDef (IfcAbstractEntityPtr e); + IfcUShapeProfileDef (IfcAbstractEntity* e); IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope); - typedef IfcUShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcUShapeProfileDef >::it it; + 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. /// @@ -18495,23 +17979,21 @@ public: class IfcVector : public IfcGeometricRepresentationItem { public: /// The direction of the vector. - IfcDirection* Orientation(); + IfcDirection* Orientation() const; void setOrientation(IfcDirection* v); /// The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute. - IfcLengthMeasure Magnitude(); + IfcLengthMeasure Magnitude() const; void setMagnitude(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Orientation"; case 1: return "Magnitude"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVector (IfcAbstractEntityPtr e); + IfcVector (IfcAbstractEntity* e); IfcVector (IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude); - typedef IfcVector* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVector > > list; - typedef IfcTemplatedEntityList< IfcVector >::it it; + typedef IfcTemplatedEntityList< IfcVector > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of /// zero genus consisting of a single vertex. A vertex can exist independently of a @@ -18528,20 +18010,18 @@ public: class IfcVertexLoop : public IfcLoop { public: /// The vertex which defines the entire loop. - IfcVertex* LoopVertex(); + IfcVertex* LoopVertex() const; void setLoopVertex(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "LoopVertex"; } return IfcLoop::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVertexLoop (IfcAbstractEntityPtr e); + IfcVertexLoop (IfcAbstractEntity* e); IfcVertexLoop (IfcVertex* v1_LoopVertex); - typedef IfcVertexLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVertexLoop > > list; - typedef IfcTemplatedEntityList< IfcVertexLoop >::it it; + typedef IfcTemplatedEntityList< IfcVertexLoop > 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. /// @@ -18564,29 +18044,27 @@ public: class IfcWindowStyle : public IfcTypeProduct { public: /// Type defining the basic construction and material type of the window. - IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType(); + IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum ConstructionType() const; void setConstructionType(IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v); /// Type defining the general layout and operation of the window style. - IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum OperationType(); + IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum OperationType() const; void setOperationType(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(); + bool ParameterTakesPrecedence() const; void setParameterTakesPrecedence(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(); + bool Sizeable() const; void setSizeable(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ConstructionType"; case 9: return "OperationType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowStyle (IfcAbstractEntityPtr e); - IfcWindowStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); - typedef IfcWindowStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowStyle > > list; - typedef IfcTemplatedEntityList< IfcWindowStyle >::it it; + IfcWindowStyle (IfcAbstractEntity* e); + IfcWindowStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + typedef IfcTemplatedEntityList< IfcWindowStyle > list; }; /// IfcZShapeProfileDef defines /// a section profile that provides the defining parameters of a Z-shape @@ -18616,39 +18094,37 @@ public: class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Flange length, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth(); + IfcPositiveLengthMeasure FlangeWidth() const; void setFlangeWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of web, see illustration above (= ts). - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Constant wall thickness of flange, see illustration above (= tg). - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius(); + IfcNonNegativeLengthMeasure FilletRadius() const; void setFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef - bool hasEdgeRadius(); + bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure EdgeRadius(); + IfcNonNegativeLengthMeasure EdgeRadius() const; void setEdgeRadius(IfcNonNegativeLengthMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcZShapeProfileDef (IfcAbstractEntityPtr e); + IfcZShapeProfileDef (IfcAbstractEntity* e); IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius); - typedef IfcZShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcZShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcZShapeProfileDef >::it it; + 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. /// @@ -18668,15 +18144,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFaceSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFaceSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAdvancedFace (IfcAbstractEntityPtr e); - IfcAdvancedFace (SHARED_PTR< IfcTemplatedEntityList< IfcFaceBound > > v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense); - typedef IfcAdvancedFace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAdvancedFace > > list; - typedef IfcTemplatedEntityList< IfcAdvancedFace >::it it; + IfcAdvancedFace (IfcAbstractEntity* e); + IfcAdvancedFace (IfcTemplatedEntityList< IfcFaceBound >::ptr v1_Bounds, IfcSurface* v2_FaceSurface, bool v3_SameSense); + typedef IfcTemplatedEntityList< IfcAdvancedFace > 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. /// @@ -18703,27 +18177,25 @@ public: /// A closed curve that defines the outer boundary of the fill area. The areas defined by the outer boundary (minus potentially defined inner boundaries) is filled by the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - IfcCurve* OuterBoundary(); + IfcCurve* OuterBoundary() const; void setOuterBoundary(IfcCurve* v); /// Whether the optional attribute InnerBoundaries is defined for this IfcAnnotationFillArea - bool hasInnerBoundaries(); + bool hasInnerBoundaries() const; /// A set of inner curves that define the inner boundaries of the fill area. The areas defined by the inner boundaries are excluded from applying the fill area style. /// /// IFC2x Edition 3 CHANGE  The two new attributes OuterBoundary and InnerBoundaries replace the old single attribute Boundaries. - SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerBoundaries(); - void setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v); + IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; + void setInnerBoundaries(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OuterBoundary"; case 1: return "InnerBoundaries"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotationFillArea (IfcAbstractEntityPtr e); - IfcAnnotationFillArea (IfcCurve* v1_OuterBoundary, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > > v2_InnerBoundaries); - typedef IfcAnnotationFillArea* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotationFillArea > > list; - typedef IfcTemplatedEntityList< IfcAnnotationFillArea >::it it; + IfcAnnotationFillArea (IfcAbstractEntity* e); + IfcAnnotationFillArea (IfcCurve* v1_OuterBoundary, boost::optional< IfcTemplatedEntityList< IfcCurve >::ptr > v2_InnerBoundaries); + typedef IfcTemplatedEntityList< IfcAnnotationFillArea > list; }; /// IfcAsymmetricIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -18764,59 +18236,57 @@ public: /// Figure 310 — Assymetric I-shape profile class IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcPositiveLengthMeasure BottomFlangeWidth(); + IfcPositiveLengthMeasure BottomFlangeWidth() const; void setBottomFlangeWidth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure OverallDepth(); + IfcPositiveLengthMeasure OverallDepth() const; void setOverallDepth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BottomFlangeThickness(); + IfcPositiveLengthMeasure BottomFlangeThickness() const; void setBottomFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute BottomFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeFilletRadius(); - IfcNonNegativeLengthMeasure BottomFlangeFilletRadius(); + bool hasBottomFlangeFilletRadius() const; + IfcNonNegativeLengthMeasure BottomFlangeFilletRadius() const; void setBottomFlangeFilletRadius(IfcNonNegativeLengthMeasure v); /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure TopFlangeWidth(); + IfcPositiveLengthMeasure TopFlangeWidth() const; void setTopFlangeWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeThickness(); + bool hasTopFlangeThickness() const; /// Flange thickness of the top flange of the I-shape. - IfcPositiveLengthMeasure TopFlangeThickness(); + IfcPositiveLengthMeasure TopFlangeThickness() const; void setTopFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeFilletRadius(); + bool hasTopFlangeFilletRadius() const; /// The fillet between the web and the top flange of the I-shape. - IfcNonNegativeLengthMeasure TopFlangeFilletRadius(); + IfcNonNegativeLengthMeasure TopFlangeFilletRadius() const; void setTopFlangeFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute BottomFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeEdgeRadius(); - IfcNonNegativeLengthMeasure BottomFlangeEdgeRadius(); + bool hasBottomFlangeEdgeRadius() const; + IfcNonNegativeLengthMeasure BottomFlangeEdgeRadius() const; void setBottomFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute BottomFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef - bool hasBottomFlangeSlope(); - IfcPlaneAngleMeasure BottomFlangeSlope(); + bool hasBottomFlangeSlope() const; + IfcPlaneAngleMeasure BottomFlangeSlope() const; void setBottomFlangeSlope(IfcPlaneAngleMeasure v); /// Whether the optional attribute TopFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeEdgeRadius(); - IfcNonNegativeLengthMeasure TopFlangeEdgeRadius(); + bool hasTopFlangeEdgeRadius() const; + IfcNonNegativeLengthMeasure TopFlangeEdgeRadius() const; void setTopFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute TopFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef - bool hasTopFlangeSlope(); - IfcPlaneAngleMeasure TopFlangeSlope(); + bool hasTopFlangeSlope() const; + IfcPlaneAngleMeasure TopFlangeSlope() const; void setTopFlangeSlope(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "BottomFlangeWidth"; case 4: return "OverallDepth"; case 5: return "WebThickness"; case 6: return "BottomFlangeThickness"; case 7: return "BottomFlangeFilletRadius"; case 8: return "TopFlangeWidth"; case 9: return "TopFlangeThickness"; case 10: return "TopFlangeFilletRadius"; case 11: return "BottomFlangeEdgeRadius"; case 12: return "BottomFlangeSlope"; case 13: return "TopFlangeEdgeRadius"; case 14: return "TopFlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAsymmetricIShapeProfileDef (IfcAbstractEntityPtr e); + IfcAsymmetricIShapeProfileDef (IfcAbstractEntity* e); IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomFlangeWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_BottomFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_BottomFlangeFilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v12_BottomFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v13_BottomFlangeSlope, boost::optional< IfcNonNegativeLengthMeasure > v14_TopFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v15_TopFlangeSlope); - typedef IfcAsymmetricIShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef >::it it; + 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). /// @@ -18830,22 +18300,20 @@ public: class IfcAxis1Placement : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis1Placement - bool hasAxis(); + bool hasAxis() const; /// The direction of the local Z axis. - IfcDirection* Axis(); + IfcDirection* Axis() const; void setAxis(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Axis"; } return IfcPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAxis1Placement (IfcAbstractEntityPtr e); + IfcAxis1Placement (IfcAbstractEntity* e); IfcAxis1Placement (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis); - typedef IfcAxis1Placement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis1Placement > > list; - typedef IfcTemplatedEntityList< IfcAxis1Placement >::it it; + 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. /// @@ -18861,22 +18329,20 @@ public: class IfcAxis2Placement2D : public IfcPlacement { public: /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement2D - bool hasRefDirection(); + 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(); + IfcDirection* RefDirection() const; void setRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "RefDirection"; } return IfcPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAxis2Placement2D (IfcAbstractEntityPtr e); + IfcAxis2Placement2D (IfcAbstractEntity* e); IfcAxis2Placement2D (IfcCartesianPoint* v1_Location, IfcDirection* v2_RefDirection); - typedef IfcAxis2Placement2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement2D > > list; - typedef IfcTemplatedEntityList< IfcAxis2Placement2D >::it it; + 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. /// @@ -18894,27 +18360,25 @@ public: class IfcAxis2Placement3D : public IfcPlacement { public: /// Whether the optional attribute Axis is defined for this IfcAxis2Placement3D - bool hasAxis(); + bool hasAxis() const; /// The exact direction of the local Z Axis. - IfcDirection* Axis(); + IfcDirection* Axis() const; void setAxis(IfcDirection* v); /// Whether the optional attribute RefDirection is defined for this IfcAxis2Placement3D - bool hasRefDirection(); + bool hasRefDirection() const; /// 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(); + IfcDirection* RefDirection() const; void setRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Axis"; case 2: return "RefDirection"; } return IfcPlacement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAxis2Placement3D (IfcAbstractEntityPtr e); + IfcAxis2Placement3D (IfcAbstractEntity* e); IfcAxis2Placement3D (IfcCartesianPoint* v1_Location, IfcDirection* v2_Axis, IfcDirection* v3_RefDirection); - typedef IfcAxis2Placement3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAxis2Placement3D > > list; - typedef IfcTemplatedEntityList< IfcAxis2Placement3D >::it it; + typedef IfcTemplatedEntityList< IfcAxis2Placement3D > list; }; /// Definition from ISO/CD 10303-42:1992: A Boolean result /// is the result of a regularized operation on two solids to create @@ -18945,26 +18409,24 @@ public: class IfcBooleanResult : public IfcGeometricRepresentationItem { public: /// The Boolean operator used in the operation to create the result. - IfcBooleanOperator::IfcBooleanOperator Operator(); + IfcBooleanOperator::IfcBooleanOperator Operator() const; void setOperator(IfcBooleanOperator::IfcBooleanOperator v); /// The first operand to be operated upon by the Boolean operation. - IfcBooleanOperand FirstOperand(); + IfcBooleanOperand FirstOperand() const; void setFirstOperand(IfcBooleanOperand v); /// The second operand specified for the operation. - IfcBooleanOperand SecondOperand(); + IfcBooleanOperand SecondOperand() const; void setSecondOperand(IfcBooleanOperand v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Operator"; case 1: return "FirstOperand"; case 2: return "SecondOperand"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBooleanResult (IfcAbstractEntityPtr e); + IfcBooleanResult (IfcAbstractEntity* e); IfcBooleanResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); - typedef IfcBooleanResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBooleanResult > > list; - typedef IfcTemplatedEntityList< IfcBooleanResult >::it it; + typedef IfcTemplatedEntityList< IfcBooleanResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. /// @@ -18983,15 +18445,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundedSurface (IfcAbstractEntityPtr e); + IfcBoundedSurface (IfcAbstractEntity* e); IfcBoundedSurface (); - typedef IfcBoundedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundedSurface > > list; - typedef IfcTemplatedEntityList< IfcBoundedSurface >::it it; + typedef IfcTemplatedEntityList< IfcBoundedSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A box domain /// is an orthogonal box parallel to the axes of the geometric @@ -19018,29 +18478,27 @@ public: class IfcBoundingBox : public IfcGeometricRepresentationItem { public: /// Location of the bottom left corner (having the minimum values). - IfcCartesianPoint* Corner(); + IfcCartesianPoint* Corner() const; void setCorner(IfcCartesianPoint* v); /// Length attribute (measured along the edge parallel to the X Axis) - IfcPositiveLengthMeasure XDim(); + IfcPositiveLengthMeasure XDim() const; void setXDim(IfcPositiveLengthMeasure v); /// Width attribute (measured along the edge parallel to the Y Axis) - IfcPositiveLengthMeasure YDim(); + IfcPositiveLengthMeasure YDim() const; void setYDim(IfcPositiveLengthMeasure v); /// Height attribute (measured along the edge parallel to the Z Axis). - IfcPositiveLengthMeasure ZDim(); + IfcPositiveLengthMeasure ZDim() const; void setZDim(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Corner"; case 1: return "XDim"; case 2: return "YDim"; case 3: return "ZDim"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundingBox (IfcAbstractEntityPtr e); + IfcBoundingBox (IfcAbstractEntity* e); IfcBoundingBox (IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim); - typedef IfcBoundingBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundingBox > > list; - typedef IfcTemplatedEntityList< IfcBoundingBox >::it it; + typedef IfcTemplatedEntityList< IfcBoundingBox > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is a subtype of the half space solid which is trimmed by a surrounding rectangular box. The box has its edges parallel to the coordinate axes of the geometric coordinate system. /// @@ -19075,20 +18533,18 @@ public: 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(); + IfcBoundingBox* Enclosure() const; void setEnclosure(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Enclosure"; } return IfcHalfSpaceSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoxedHalfSpace (IfcAbstractEntityPtr e); + IfcBoxedHalfSpace (IfcAbstractEntity* e); IfcBoxedHalfSpace (IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, IfcBoundingBox* v3_Enclosure); - typedef IfcBoxedHalfSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoxedHalfSpace > > list; - typedef IfcTemplatedEntityList< IfcBoxedHalfSpace >::it it; + typedef IfcTemplatedEntityList< IfcBoxedHalfSpace > list; }; /// IfcCShapeProfileDef defines /// a section profile that provides the defining parameters of a C-shaped @@ -19115,34 +18571,32 @@ public: class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Profile width, see illustration above (= b). - IfcPositiveLengthMeasure Width(); + IfcPositiveLengthMeasure Width() const; void setWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of profile (= ts). - IfcPositiveLengthMeasure WallThickness(); + IfcPositiveLengthMeasure WallThickness() const; void setWallThickness(IfcPositiveLengthMeasure v); /// Lengths of girth, see illustration above (= c). - IfcPositiveLengthMeasure Girth(); + IfcPositiveLengthMeasure Girth() const; void setGirth(IfcPositiveLengthMeasure v); /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef - bool hasInternalFilletRadius(); + bool hasInternalFilletRadius() const; /// Internal fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure InternalFilletRadius(); + IfcNonNegativeLengthMeasure InternalFilletRadius() const; void setInternalFilletRadius(IfcNonNegativeLengthMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "WallThickness"; case 6: return "Girth"; case 7: return "InternalFilletRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCShapeProfileDef (IfcAbstractEntityPtr e); + IfcCShapeProfileDef (IfcAbstractEntity* e); IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcNonNegativeLengthMeasure > v8_InternalFilletRadius); - typedef IfcCShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCShapeProfileDef >::it it; + 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. /// @@ -19154,20 +18608,18 @@ public: class IfcCartesianPoint : public IfcPoint { public: /// The first, second, and third coordinate of the point location. If placed in a two or three dimensional rectangular Cartesian coordinate system, Coordinates[1] is the X coordinate, Coordinates[2] is the Y coordinate, and Coordinates[3] is the Z coordinate. - std::vector< IfcLengthMeasure > /*[1:3]*/ Coordinates(); + std::vector< IfcLengthMeasure > /*[1:3]*/ Coordinates() const; void setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } return IfcPoint::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianPoint (IfcAbstractEntityPtr e); + IfcCartesianPoint (IfcAbstractEntity* e); IfcCartesianPoint (std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates); - typedef IfcCartesianPoint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > list; - typedef IfcTemplatedEntityList< IfcCartesianPoint >::it it; + typedef IfcTemplatedEntityList< IfcCartesianPoint > list; }; class IfcCartesianPointList : public IfcGeometricRepresentationItem { @@ -19175,15 +18627,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianPointList (IfcAbstractEntityPtr e); + IfcCartesianPointList (IfcAbstractEntity* e); IfcCartesianPointList (); - typedef IfcCartesianPointList* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPointList > > list; - typedef IfcTemplatedEntityList< IfcCartesianPointList >::it it; + typedef IfcTemplatedEntityList< IfcCartesianPointList > list; }; class IfcCartesianPointList3D : public IfcCartesianPointList { @@ -19191,15 +18641,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_UNKNOWN; } return IfcCartesianPointList::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CoordList"; } return IfcCartesianPointList::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianPointList3D (IfcAbstractEntityPtr e); + IfcCartesianPointList3D (IfcAbstractEntity* e); IfcCartesianPointList3D (); - typedef IfcCartesianPointList3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPointList3D > > list; - typedef IfcTemplatedEntityList< IfcCartesianPointList3D >::it it; + typedef IfcTemplatedEntityList< IfcCartesianPointList3D > list; }; /// Definition from ISO/CD 10303-42:1992: A Cartesian transformation operator defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed, by the base axis function, from the direction attributes axis1, axis2 and, in Cartesian transformation operator 3d, axis3. If |T|= -1, the transformation includes mirroring. The local origin point A, the scale value S and the matrix T together define a transformation. /// @@ -19234,35 +18682,33 @@ public: class IfcCartesianTransformationOperator : public IfcGeometricRepresentationItem { public: /// Whether the optional attribute Axis1 is defined for this IfcCartesianTransformationOperator - bool hasAxis1(); + bool hasAxis1() const; /// The direction used to determine U[1], the derived X axis direction. - IfcDirection* Axis1(); + IfcDirection* Axis1() const; void setAxis1(IfcDirection* v); /// Whether the optional attribute Axis2 is defined for this IfcCartesianTransformationOperator - bool hasAxis2(); + bool hasAxis2() const; /// The direction used to determine U[2], the derived Y axis direction. - IfcDirection* Axis2(); + IfcDirection* Axis2() const; void setAxis2(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(); + IfcCartesianPoint* LocalOrigin() const; void setLocalOrigin(IfcCartesianPoint* v); /// Whether the optional attribute Scale is defined for this IfcCartesianTransformationOperator - bool hasScale(); + bool hasScale() const; /// The scaling value specified for the transformation. - double Scale(); + double Scale() const; void setScale(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Axis1"; case 1: return "Axis2"; case 2: return "LocalOrigin"; case 3: return "Scale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator (IfcAbstractEntity* e); IfcCartesianTransformationOperator (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); - typedef IfcCartesianTransformationOperator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator >::it it; + 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. /// @@ -19274,15 +18720,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCartesianTransformationOperator::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCartesianTransformationOperator::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator2D (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator2D (IfcAbstractEntity* e); IfcCartesianTransformationOperator2D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale); - typedef IfcCartesianTransformationOperator2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator2D > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2D >::it it; + 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: /// @@ -19297,22 +18741,20 @@ public: class IfcCartesianTransformationOperator2DnonUniform : public IfcCartesianTransformationOperator2D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator2DnonUniform - bool hasScale2(); + bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2(); + double Scale2() const; void setScale2(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Scale2"; } return IfcCartesianTransformationOperator2D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator2DnonUniform (IfcAbstractEntity* e); IfcCartesianTransformationOperator2DnonUniform (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2); - typedef IfcCartesianTransformationOperator2DnonUniform* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator2DnonUniform >::it it; + 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. /// @@ -19322,22 +18764,20 @@ public: class IfcCartesianTransformationOperator3D : public IfcCartesianTransformationOperator { public: /// Whether the optional attribute Axis3 is defined for this IfcCartesianTransformationOperator3D - bool hasAxis3(); + bool hasAxis3() const; /// The exact direction of U[3], the derived Z axis direction. - IfcDirection* Axis3(); + IfcDirection* Axis3() const; void setAxis3(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Axis3"; } return IfcCartesianTransformationOperator::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator3D (IfcAbstractEntityPtr e); + IfcCartesianTransformationOperator3D (IfcAbstractEntity* e); IfcCartesianTransformationOperator3D (IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3); - typedef IfcCartesianTransformationOperator3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator3D > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3D >::it it; + 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: /// @@ -19353,27 +18793,25 @@ public: class IfcCartesianTransformationOperator3DnonUniform : public IfcCartesianTransformationOperator3D { public: /// Whether the optional attribute Scale2 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale2(); + bool hasScale2() const; /// The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. - double Scale2(); + double Scale2() const; void setScale2(double v); /// Whether the optional attribute Scale3 is defined for this IfcCartesianTransformationOperator3DnonUniform - bool hasScale3(); + bool hasScale3() const; /// The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. - double Scale3(); + double Scale3() const; void setScale3(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Scale2"; case 6: return "Scale3"; } return IfcCartesianTransformationOperator3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCartesianTransformationOperator3DnonUniform (IfcAbstractEntityPtr e); + 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); - typedef IfcCartesianTransformationOperator3DnonUniform* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform > > list; - typedef IfcTemplatedEntityList< IfcCartesianTransformationOperator3DnonUniform >::it it; + 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. /// @@ -19390,20 +18828,18 @@ public: class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Radius"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCircleProfileDef (IfcAbstractEntityPtr e); + IfcCircleProfileDef (IfcAbstractEntity* e); IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius); - typedef IfcCircleProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircleProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCircleProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCircleProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell /// of the dimensionality 2 which typically serves as a bound for a region in R3. A @@ -19459,15 +18895,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcConnectedFaceSet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcConnectedFaceSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcClosedShell (IfcAbstractEntityPtr e); - IfcClosedShell (SHARED_PTR< IfcTemplatedEntityList< IfcFace > > v1_CfsFaces); - typedef IfcClosedShell* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > list; - typedef IfcTemplatedEntityList< IfcClosedShell >::it it; + IfcClosedShell (IfcAbstractEntity* e); + IfcClosedShell (IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces); + typedef IfcTemplatedEntityList< IfcClosedShell > 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. /// @@ -19482,30 +18916,28 @@ public: /// The intensity of the red colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. - IfcNormalisedRatioMeasure Red(); + IfcNormalisedRatioMeasure Red() const; void setRed(IfcNormalisedRatioMeasure v); /// The intensity of the green colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. - IfcNormalisedRatioMeasure Green(); + IfcNormalisedRatioMeasure Green() const; void setGreen(IfcNormalisedRatioMeasure v); /// The intensity of the blue colour component. /// /// NOTE  The colour component value is given within the range of 0..1, and not within the range of 0..255 as otherwise usual. - IfcNormalisedRatioMeasure Blue(); + IfcNormalisedRatioMeasure Blue() const; void setBlue(IfcNormalisedRatioMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Red"; case 2: return "Green"; case 3: return "Blue"; } return IfcColourSpecification::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColourRgb (IfcAbstractEntityPtr e); + IfcColourRgb (IfcAbstractEntity* e); IfcColourRgb (boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue); - typedef IfcColourRgb* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColourRgb > > list; - typedef IfcTemplatedEntityList< IfcColourRgb >::it it; + typedef IfcTemplatedEntityList< IfcColourRgb > list; }; /// IfcComplexProperty is used to define complex properties to be handled completely within a property set. The included set of properties may be a mixed or consistent collection of IfcProperty subtypes. This enables the definition of a set of properties to be included as a single 'property' entry in an IfcPropertySet. The definition of such an IfcComplexProperty can be reused in many different IfcPropertySet's. /// @@ -19516,23 +18948,21 @@ class IfcComplexProperty : public IfcProperty { public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// NOTE: Consider a complex property for glazing properties. The Name attribute of the IfcComplexProperty could be Pset_GlazingProperties, and the UsageName attribute could be OuterGlazingPane. - IfcIdentifier UsageName(); + IfcIdentifier UsageName() const; void setUsageName(IfcIdentifier v); /// Set of properties that can be used within this complex property (may include other complex properties). - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > HasProperties(); - void setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; + void setHasProperties(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "HasProperties"; } return IfcProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcComplexProperty (IfcAbstractEntityPtr e); - IfcComplexProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v4_HasProperties); - typedef IfcComplexProperty* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcComplexProperty > > list; - typedef IfcTemplatedEntityList< IfcComplexProperty >::it it; + IfcComplexProperty (IfcAbstractEntity* e); + IfcComplexProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties); + typedef IfcTemplatedEntityList< IfcComplexProperty > list; }; /// Definition from ISO/CD 10303-42:1992: A composite curve segment is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve). /// @@ -19544,29 +18974,27 @@ public: 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(); + IfcTransitionCode::IfcTransitionCode Transition() const; void setTransition(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(); + bool SameSense() const; void setSameSense(bool v); /// The bounded curve which defines the geometry of the segment. - IfcCurve* ParentCurve(); + IfcCurve* ParentCurve() const; void setParentCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Transition"; case 1: return "SameSense"; case 2: return "ParentCurve"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurve > > UsingCurves(); // INVERSE IfcCompositeCurve::Segments + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcCompositeCurve >::ptr UsingCurves() const; // INVERSE IfcCompositeCurve::Segments bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeCurveSegment (IfcAbstractEntityPtr e); + IfcCompositeCurveSegment (IfcAbstractEntity* e); IfcCompositeCurveSegment (IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve); - typedef IfcCompositeCurveSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > list; - typedef IfcTemplatedEntityList< IfcCompositeCurveSegment >::it it; + typedef IfcTemplatedEntityList< IfcCompositeCurveSegment > list; }; /// IfcConstructionResourceType is an abstract generalization of the different resource types used in construction projects, mainly labor, material, equipment and product resource types, plus subcontracted resource types and aggregations such as a crew resource type. /// @@ -19586,25 +19014,23 @@ public: class IfcConstructionResourceType : public IfcTypeResource { public: /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResourceType - bool hasBaseCosts(); - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > BaseCosts(); - void setBaseCosts(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v); + 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(); - IfcPhysicalQuantity* BaseQuantity(); + bool hasBaseQuantity() const; + IfcPhysicalQuantity* BaseQuantity() const; void setBaseQuantity(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "BaseCosts"; case 10: return "BaseQuantity"; } return IfcTypeResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionResourceType (IfcAbstractEntityPtr e); - IfcConstructionResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity); - typedef IfcConstructionResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionResourceType > > list; - typedef IfcTemplatedEntityList< IfcConstructionResourceType >::it it; + IfcConstructionResourceType (IfcAbstractEntity* e); + IfcConstructionResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity); + 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. /// @@ -19622,48 +19048,46 @@ public: class IfcContext : public IfcObjectDefinition { public: /// Whether the optional attribute ObjectType is defined for this IfcContext - bool hasObjectType(); + bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. - IfcLabel ObjectType(); + IfcLabel ObjectType() const; void setObjectType(IfcLabel v); /// Whether the optional attribute LongName is defined for this IfcContext - bool hasLongName(); + bool hasLongName() const; /// Long name for the context as used for reference purposes. - IfcLabel LongName(); + IfcLabel LongName() const; void setLongName(IfcLabel v); /// Whether the optional attribute Phase is defined for this IfcContext - bool hasPhase(); + bool hasPhase() const; /// Current project phase, or life-cycle phase of this project. Applicable values have to be agreed upon by view definitions or implementer agreements. - IfcLabel Phase(); + IfcLabel Phase() const; void setPhase(IfcLabel v); /// Whether the optional attribute RepresentationContexts is defined for this IfcContext - bool hasRepresentationContexts(); + bool hasRepresentationContexts() const; /// Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor. /// /// IFC2x4 CHANGE  The attribute has been changed to be optional. Change made with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > RepresentationContexts(); - void setRepresentationContexts(SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > v); + IfcTemplatedEntityList< IfcRepresentationContext >::ptr RepresentationContexts() const; + void setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); /// Whether the optional attribute UnitsInContext is defined for this IfcContext - bool hasUnitsInContext(); + bool hasUnitsInContext() const; /// 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(); + IfcUnitAssignment* UnitsInContext() const; void setUnitsInContext(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ObjectType"; case 5: return "LongName"; case 6: return "Phase"; case 7: return "RepresentationContexts"; case 8: return "UnitsInContext"; } return IfcObjectDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > IsDefinedBy(); // INVERSE IfcRelDefinesByProperties::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelDeclares > > Declares(); // INVERSE IfcRelDeclares::RelatingContext + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects + IfcTemplatedEntityList< IfcRelDeclares >::ptr Declares() const; // INVERSE IfcRelDeclares::RelatingContext bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcContext (IfcAbstractEntityPtr e); - IfcContext (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); - typedef IfcContext* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcContext > > list; - typedef IfcTemplatedEntityList< IfcContext >::it it; + IfcContext (IfcAbstractEntity* e); + IfcContext (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + typedef IfcTemplatedEntityList< IfcContext > list; }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: /// @@ -19678,20 +19102,18 @@ public: class IfcCrewResourceType : public IfcConstructionResourceType { public: /// Defines types of crew resources. - IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType(); + IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "PredefinedType"; } return IfcConstructionResourceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCrewResourceType (IfcAbstractEntityPtr e); - IfcCrewResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType); - typedef IfcCrewResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCrewResourceType > > list; - typedef IfcTemplatedEntityList< IfcCrewResourceType >::it it; + IfcCrewResourceType (IfcAbstractEntity* e); + IfcCrewResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType); + 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. /// @@ -19701,20 +19123,18 @@ public: class IfcCsgPrimitive3D : public IfcGeometricRepresentationItem { public: /// The placement coordinate system to which the parameters of each individual CSG primitive apply. - IfcAxis2Placement3D* Position(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCsgPrimitive3D (IfcAbstractEntityPtr e); + IfcCsgPrimitive3D (IfcAbstractEntity* e); IfcCsgPrimitive3D (IfcAxis2Placement3D* v1_Position); - typedef IfcCsgPrimitive3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCsgPrimitive3D > > list; - typedef IfcTemplatedEntityList< IfcCsgPrimitive3D >::it it; + typedef IfcTemplatedEntityList< IfcCsgPrimitive3D > list; }; /// Definition from ISO/CD 10303-42:1992: A solid /// represented as a CSG model is defined by a collection of @@ -19760,20 +19180,18 @@ public: class IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). - IfcCsgSelect TreeRootExpression(); + IfcCsgSelect TreeRootExpression() const; void setTreeRootExpression(IfcCsgSelect v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TreeRootExpression"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCsgSolid (IfcAbstractEntityPtr e); + IfcCsgSolid (IfcAbstractEntity* e); IfcCsgSolid (IfcCsgSelect v1_TreeRootExpression); - typedef IfcCsgSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCsgSolid > > list; - typedef IfcTemplatedEntityList< IfcCsgSolid >::it it; + typedef IfcTemplatedEntityList< IfcCsgSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. /// @@ -19790,15 +19208,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurve (IfcAbstractEntityPtr e); + IfcCurve (IfcAbstractEntity* e); IfcCurve (); - typedef IfcCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > list; - typedef IfcTemplatedEntityList< IfcCurve >::it it; + typedef IfcTemplatedEntityList< IfcCurve > list; }; /// Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -19816,26 +19232,24 @@ public: class IfcCurveBoundedPlane : public IfcBoundedSurface { public: /// The surface to be bound. - IfcPlane* BasisSurface(); + IfcPlane* BasisSurface() const; void setBasisSurface(IfcPlane* v); /// The outer boundary of the surface. - IfcCurve* OuterBoundary(); + IfcCurve* OuterBoundary() const; void setOuterBoundary(IfcCurve* v); /// An optional set of inner boundaries. They shall not intersect each other or the outer boundary. - SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > InnerBoundaries(); - void setInnerBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v); + IfcTemplatedEntityList< IfcCurve >::ptr InnerBoundaries() const; + void setInnerBoundaries(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "OuterBoundary"; case 2: return "InnerBoundaries"; } return IfcBoundedSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveBoundedPlane (IfcAbstractEntityPtr e); - IfcCurveBoundedPlane (IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, SHARED_PTR< IfcTemplatedEntityList< IfcCurve > > v3_InnerBoundaries); - typedef IfcCurveBoundedPlane* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveBoundedPlane > > list; - typedef IfcTemplatedEntityList< IfcCurveBoundedPlane >::it it; + IfcCurveBoundedPlane (IfcAbstractEntity* e); + IfcCurveBoundedPlane (IfcPlane* v1_BasisSurface, IfcCurve* v2_OuterBoundary, IfcTemplatedEntityList< IfcCurve >::ptr v3_InnerBoundaries); + typedef IfcTemplatedEntityList< IfcCurveBoundedPlane > list; }; /// Definition from ISO/CD 10303-42:1992 The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. One of the boundary curves may be the outer boundary; any number of inner boundaries is permissible. The region of the curve bounded surface in the basis surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected. /// @@ -19861,25 +19275,23 @@ public: class IfcCurveBoundedSurface : public IfcBoundedSurface { public: /// The surface to be bounded. - IfcSurface* BasisSurface(); + IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// The outer boundary of the surface. - SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > Boundaries(); - void setBoundaries(SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > v); - bool ImplicitOuter(); + IfcTemplatedEntityList< IfcBoundaryCurve >::ptr Boundaries() const; + void setBoundaries(IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v); + bool ImplicitOuter() const; void setImplicitOuter(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "Boundaries"; case 2: return "ImplicitOuter"; } return IfcBoundedSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurveBoundedSurface (IfcAbstractEntityPtr e); - IfcCurveBoundedSurface (IfcSurface* v1_BasisSurface, SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > v2_Boundaries, bool v3_ImplicitOuter); - typedef IfcCurveBoundedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurveBoundedSurface > > list; - typedef IfcTemplatedEntityList< IfcCurveBoundedSurface >::it it; + IfcCurveBoundedSurface (IfcAbstractEntity* e); + IfcCurveBoundedSurface (IfcSurface* v1_BasisSurface, IfcTemplatedEntityList< IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter); + typedef IfcTemplatedEntityList< IfcCurveBoundedSurface > 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. /// @@ -19891,20 +19303,18 @@ public: class IfcDirection : public IfcGeometricRepresentationItem { public: /// The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3]) - std::vector< double > /*[2:3]*/ DirectionRatios(); + std::vector< double > /*[2:3]*/ DirectionRatios() const; void setDirectionRatios(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DirectionRatios"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDirection (IfcAbstractEntityPtr e); + IfcDirection (IfcAbstractEntity* e); IfcDirection (std::vector< double > /*[2:3]*/ v1_DirectionRatios); - typedef IfcDirection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDirection > > list; - typedef IfcTemplatedEntityList< IfcDirection >::it it; + typedef IfcTemplatedEntityList< IfcDirection > 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. /// @@ -19935,29 +19345,27 @@ public: class IfcDoorStyle : public IfcTypeProduct { public: /// Type defining the general layout and operation of the door style. - IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType(); + IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum OperationType() const; void setOperationType(IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v); /// Type defining the basic construction and material type of the door. - IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum ConstructionType(); + IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum ConstructionType() const; void setConstructionType(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(); + bool ParameterTakesPrecedence() const; void setParameterTakesPrecedence(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(); + bool Sizeable() const; void setSizeable(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OperationType"; case 9: return "ConstructionType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorStyle (IfcAbstractEntityPtr e); - IfcDoorStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); - typedef IfcDoorStyle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorStyle > > list; - typedef IfcTemplatedEntityList< IfcDoorStyle >::it it; + IfcDoorStyle (IfcAbstractEntity* e); + IfcDoorStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + 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. /// @@ -19973,20 +19381,18 @@ public: class IfcEdgeLoop : public IfcLoop { public: /// A list of oriented edge entities which are concatenated together to form this path. - SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > EdgeList(); - void setEdgeList(SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v); + IfcTemplatedEntityList< IfcOrientedEdge >::ptr EdgeList() const; + void setEdgeList(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "EdgeList"; } return IfcLoop::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEdgeLoop (IfcAbstractEntityPtr e); - IfcEdgeLoop (SHARED_PTR< IfcTemplatedEntityList< IfcOrientedEdge > > v1_EdgeList); - typedef IfcEdgeLoop* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEdgeLoop > > list; - typedef IfcTemplatedEntityList< IfcEdgeLoop >::it it; + IfcEdgeLoop (IfcAbstractEntity* e); + IfcEdgeLoop (IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList); + typedef IfcTemplatedEntityList< IfcEdgeLoop > list; }; /// Definition from IAI: An IfcElementQuantity /// defines a set of derived measures of an element's physical @@ -20068,27 +19474,25 @@ public: class IfcElementQuantity : public IfcQuantitySet { public: /// Whether the optional attribute MethodOfMeasurement is defined for this IfcElementQuantity - bool hasMethodOfMeasurement(); + 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 - IfcLabel MethodOfMeasurement(); + IfcLabel MethodOfMeasurement() const; void setMethodOfMeasurement(IfcLabel v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > Quantities(); - void setQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v); + IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr Quantities() const; + void setQuantities(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "MethodOfMeasurement"; case 5: return "Quantities"; } return IfcQuantitySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementQuantity (IfcAbstractEntityPtr e); - IfcElementQuantity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v6_Quantities); - typedef IfcElementQuantity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementQuantity > > list; - typedef IfcTemplatedEntityList< IfcElementQuantity >::it it; + IfcElementQuantity (IfcAbstractEntity* e); + IfcElementQuantity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); + typedef IfcTemplatedEntityList< IfcElementQuantity > list; }; /// Definition from IAI: The IfcElementType /// defines a list of commonly shared property set definitions @@ -20115,22 +19519,20 @@ public: class IfcElementType : public IfcTypeProduct { public: /// Whether the optional attribute ElementType is defined for this IfcElementType - bool hasElementType(); + bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ElementType(); + IfcLabel ElementType() const; void setElementType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ElementType"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementType (IfcAbstractEntityPtr e); - IfcElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementType > > list; - typedef IfcTemplatedEntityList< IfcElementType >::it it; + IfcElementType (IfcAbstractEntity* e); + IfcElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcElementType > list; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. /// @@ -20140,20 +19542,18 @@ public: 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(); + IfcAxis2Placement3D* Position() const; void setPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementarySurface (IfcAbstractEntityPtr e); + IfcElementarySurface (IfcAbstractEntity* e); IfcElementarySurface (IfcAxis2Placement3D* v1_Position); - typedef IfcElementarySurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementarySurface > > list; - typedef IfcTemplatedEntityList< IfcElementarySurface >::it it; + typedef IfcTemplatedEntityList< IfcElementarySurface > list; }; /// IfcEllipseProfileDef defines an ellipse as the profile definition used by the swept surface geometry /// or the swept area solid. It is given by its semi axis attributes and placed within the 2D position coordinate system, established by the Position attribute. @@ -20174,23 +19574,21 @@ public: class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. - IfcPositiveLengthMeasure SemiAxis1(); + IfcPositiveLengthMeasure SemiAxis1() const; void setSemiAxis1(IfcPositiveLengthMeasure v); /// The second radius of the ellipse. It is measured along the direction of Position.P[2]. - IfcPositiveLengthMeasure SemiAxis2(); + IfcPositiveLengthMeasure SemiAxis2() const; void setSemiAxis2(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "SemiAxis1"; case 4: return "SemiAxis2"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEllipseProfileDef (IfcAbstractEntityPtr e); + IfcEllipseProfileDef (IfcAbstractEntity* e); IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2); - typedef IfcEllipseProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEllipseProfileDef > > list; - typedef IfcTemplatedEntityList< IfcEllipseProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; }; /// An IfcEventType defines a particular type of event that may be specified. /// @@ -20202,31 +19600,29 @@ class IfcEventType : public IfcTypeProcess { public: /// Identifies the predefined types of an event from which /// the type required may be set. - IfcEventTypeEnum::IfcEventTypeEnum PredefinedType(); + IfcEventTypeEnum::IfcEventTypeEnum PredefinedType() const; void setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v); /// Identifies the predefined types of event trigger from which /// the type required may be set. - IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum EventTriggerType(); + IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum EventTriggerType() const; void setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v); /// Whether the optional attribute UserDefinedEventTriggerType is defined for this IfcEventType - bool hasUserDefinedEventTriggerType(); + bool hasUserDefinedEventTriggerType() const; /// A user defined event trigger type, the value of which /// is asserted when the value of an event trigger type is /// declared as USERDEFINED. - IfcLabel UserDefinedEventTriggerType(); + IfcLabel UserDefinedEventTriggerType() const; void setUserDefinedEventTriggerType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_STRING; } return IfcTypeProcess::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "EventTriggerType"; case 11: return "UserDefinedEventTriggerType"; } return IfcTypeProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEventType (IfcAbstractEntityPtr e); - IfcEventType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< IfcLabel > v12_UserDefinedEventTriggerType); - typedef IfcEventType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEventType > > list; - typedef IfcTemplatedEntityList< IfcEventType >::it it; + IfcEventType (IfcAbstractEntity* e); + IfcEventType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< IfcLabel > v12_UserDefinedEventTriggerType); + typedef IfcTemplatedEntityList< IfcEventType > list; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross /// section provided by a profile definition. The direction of the @@ -20299,24 +19695,22 @@ public: class IfcExtrudedAreaSolid : public IfcSweptAreaSolid { public: /// The direction in which the surface, provided by SweptArea is to be swept. - IfcDirection* ExtrudedDirection(); + IfcDirection* ExtrudedDirection() const; void setExtrudedDirection(IfcDirection* v); /// The distance the surface is to be swept along the ExtrudedDirection /// . - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExtrudedAreaSolid (IfcAbstractEntityPtr e); + IfcExtrudedAreaSolid (IfcAbstractEntity* e); IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth); - typedef IfcExtrudedAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtrudedAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid > list; }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross /// section along a linear spine. The cross section may change along @@ -20419,20 +19813,18 @@ public: 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(); + IfcProfileDef* EndSweptArea() const; void setEndSweptArea(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "EndSweptArea"; } return IfcExtrudedAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExtrudedAreaSolidTapered (IfcAbstractEntityPtr e); + IfcExtrudedAreaSolidTapered (IfcAbstractEntity* e); IfcExtrudedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth, IfcProfileDef* v5_EndSweptArea); - typedef IfcExtrudedAreaSolidTapered* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExtrudedAreaSolidTapered > > list; - typedef IfcTemplatedEntityList< IfcExtrudedAreaSolidTapered >::it it; + 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. /// @@ -20449,20 +19841,18 @@ public: class IfcFaceBasedSurfaceModel : public IfcGeometricRepresentationItem { public: /// The set of connected face sets comprising the face based surface model. - SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > FbsmFaces(); - void setFbsmFaces(SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v); + IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr FbsmFaces() const; + void setFbsmFaces(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "FbsmFaces"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFaceBasedSurfaceModel (IfcAbstractEntityPtr e); - IfcFaceBasedSurfaceModel (SHARED_PTR< IfcTemplatedEntityList< IfcConnectedFaceSet > > v1_FbsmFaces); - typedef IfcFaceBasedSurfaceModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFaceBasedSurfaceModel > > list; - typedef IfcTemplatedEntityList< IfcFaceBasedSurfaceModel >::it it; + IfcFaceBasedSurfaceModel (IfcAbstractEntity* e); + IfcFaceBasedSurfaceModel (IfcTemplatedEntityList< IfcConnectedFaceSet >::ptr v1_FbsmFaces); + typedef IfcTemplatedEntityList< IfcFaceBasedSurfaceModel > list; }; /// Definition from ISO/CD 10303-46:1992: The fill area style hatching defines a styled pattern of curves for hatching an annotation fill area or a surface. /// @@ -20514,44 +19904,42 @@ public: 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(); + IfcCurveStyle* HatchLineAppearance() const; void setHatchLineAppearance(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(); + IfcHatchLineDistanceSelect StartOfNextHatchLine() const; void setStartOfNextHatchLine(IfcHatchLineDistanceSelect v); /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching - bool hasPointOfReferenceHatchLine(); + bool hasPointOfReferenceHatchLine() const; /// A Cartesian point which defines the offset of the reference hatch line from the origin of the (virtual) hatching coordinate system. The origin is used for mapping the fill area style hatching onto an annotation fill area or surface. The reference hatch line would then appear with this offset from the fill style target point. /// 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(); + IfcCartesianPoint* PointOfReferenceHatchLine() const; void setPointOfReferenceHatchLine(IfcCartesianPoint* v); /// Whether the optional attribute PatternStart is defined for this IfcFillAreaStyleHatching - bool hasPatternStart(); + bool hasPatternStart() const; /// 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(); + IfcCartesianPoint* PatternStart() const; void setPatternStart(IfcCartesianPoint* v); /// A plane angle measure determining the direction of the parallel hatching lines. - IfcPlaneAngleMeasure HatchLineAngle(); + IfcPlaneAngleMeasure HatchLineAngle() const; void setHatchLineAngle(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HatchLineAppearance"; case 1: return "StartOfNextHatchLine"; case 2: return "PointOfReferenceHatchLine"; case 3: return "PatternStart"; case 4: return "HatchLineAngle"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyleHatching (IfcAbstractEntityPtr e); + IfcFillAreaStyleHatching (IfcAbstractEntity* e); IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle); - typedef IfcFillAreaStyleHatching* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleHatching > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching >::it it; + 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. /// @@ -20561,26 +19949,24 @@ public: class IfcFillAreaStyleTiles : public IfcGeometricRepresentationItem { public: /// A two direction repeat factor defining the shape and relative positioning of the tiles. - SHARED_PTR< IfcTemplatedEntityList< IfcVector > > TilingPattern(); - void setTilingPattern(SHARED_PTR< IfcTemplatedEntityList< IfcVector > > v); + IfcTemplatedEntityList< IfcVector >::ptr TilingPattern() const; + void setTilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v); /// A set of constituents of the tile. - SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > Tiles(); - void setTiles(SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > v); + IfcTemplatedEntityList< IfcStyledItem >::ptr Tiles() const; + void setTiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v); /// The scale factor applied to each tile as it is placed in the annotation fill area. - IfcPositiveRatioMeasure TilingScale(); + IfcPositiveRatioMeasure TilingScale() const; void setTilingScale(IfcPositiveRatioMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TilingPattern"; case 1: return "Tiles"; case 2: return "TilingScale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFillAreaStyleTiles (IfcAbstractEntityPtr e); - IfcFillAreaStyleTiles (SHARED_PTR< IfcTemplatedEntityList< IfcVector > > v1_TilingPattern, SHARED_PTR< IfcTemplatedEntityList< IfcStyledItem > > v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale); - typedef IfcFillAreaStyleTiles* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFillAreaStyleTiles > > list; - typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles >::it it; + IfcFillAreaStyleTiles (IfcAbstractEntity* e); + IfcFillAreaStyleTiles (IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale); + typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles > list; }; /// A fixed reference swept area solid is a type of swept area solid /// which is the result of sweeping a surface along a @@ -20643,33 +20029,31 @@ public: 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(); + IfcCurve* Directrix() const; void setDirectrix(IfcCurve* v); /// Whether the optional attribute StartParam is defined for this IfcFixedReferenceSweptAreaSolid - bool hasStartParam(); + bool hasStartParam() const; /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix. - IfcParameterValue StartParam(); + IfcParameterValue StartParam() const; void setStartParam(IfcParameterValue v); /// Whether the optional attribute EndParam is defined for this IfcFixedReferenceSweptAreaSolid - bool hasEndParam(); + bool hasEndParam() const; /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix. - IfcParameterValue EndParam(); + IfcParameterValue EndParam() const; void setEndParam(IfcParameterValue v); /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. - IfcDirection* FixedReference(); + IfcDirection* FixedReference() const; void setFixedReference(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Directrix"; case 3: return "StartParam"; case 4: return "EndParam"; case 5: return "FixedReference"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFixedReferenceSweptAreaSolid (IfcAbstractEntityPtr e); + IfcFixedReferenceSweptAreaSolid (IfcAbstractEntity* e); IfcFixedReferenceSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcDirection* v6_FixedReference); - typedef IfcFixedReferenceSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFixedReferenceSweptAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcFixedReferenceSweptAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcFixedReferenceSweptAreaSolid > list; }; /// Definition from IAI: The /// IfcFurnishingElementType defines a list of commonly shared @@ -20704,15 +20088,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnishingElementType (IfcAbstractEntityPtr e); - IfcFurnishingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFurnishingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnishingElementType > > list; - typedef IfcTemplatedEntityList< IfcFurnishingElementType >::it it; + IfcFurnishingElementType (IfcAbstractEntity* e); + IfcFurnishingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFurnishingElementType > list; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: /// @@ -20754,24 +20136,22 @@ public: 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(); + IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; void setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); /// Whether the optional attribute PredefinedType is defined for this IfcFurnitureType - bool hasPredefinedType(); - IfcFurnitureTypeEnum::IfcFurnitureTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFurnitureTypeEnum::IfcFurnitureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "AssemblyPlace"; case 10: return "PredefinedType"; } return IfcFurnishingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnitureType (IfcAbstractEntityPtr e); - IfcFurnitureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType); - typedef IfcFurnitureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnitureType > > list; - typedef IfcTemplatedEntityList< IfcFurnitureType >::it it; + IfcFurnitureType (IfcAbstractEntity* e); + IfcFurnitureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType); + typedef IfcTemplatedEntityList< IfcFurnitureType > list; }; /// Definition from IAI: An /// IfcGeographicElementType is used to define an @@ -20837,20 +20217,18 @@ public: 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(); + IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeographicElementType (IfcAbstractEntityPtr e); - IfcGeographicElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType); - typedef IfcGeographicElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeographicElementType > > list; - typedef IfcTemplatedEntityList< IfcGeographicElementType >::it it; + IfcGeographicElementType (IfcAbstractEntity* e); + IfcGeographicElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType); + 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. /// @@ -20864,15 +20242,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGeometricSet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGeometricSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeometricCurveSet (IfcAbstractEntityPtr e); - IfcGeometricCurveSet (IfcEntities v1_Elements); - typedef IfcGeometricCurveSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeometricCurveSet > > list; - typedef IfcTemplatedEntityList< IfcGeometricCurveSet >::it it; + IfcGeometricCurveSet (IfcAbstractEntity* e); + IfcGeometricCurveSet (IfcEntityList::ptr v1_Elements); + typedef IfcTemplatedEntityList< IfcGeometricCurveSet > list; }; /// IfcIShapeProfileDef /// defines a section profile that provides the defining parameters of a @@ -20940,42 +20316,40 @@ public: class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure OverallWidth(); + IfcPositiveLengthMeasure OverallWidth() const; void setOverallWidth(IfcPositiveLengthMeasure v); /// Total extent of the depth, defined parallel to the y axis of the position coordinate system. - IfcPositiveLengthMeasure OverallDepth(); + IfcPositiveLengthMeasure OverallDepth() const; void setOverallDepth(IfcPositiveLengthMeasure v); /// Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system. - IfcPositiveLengthMeasure WebThickness(); + IfcPositiveLengthMeasure WebThickness() const; void setWebThickness(IfcPositiveLengthMeasure v); /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. - IfcPositiveLengthMeasure FlangeThickness(); + IfcPositiveLengthMeasure FlangeThickness() const; void setFlangeThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// The fillet between the web and the flange. - IfcNonNegativeLengthMeasure FilletRadius(); + IfcNonNegativeLengthMeasure FilletRadius() const; void setFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcIShapeProfileDef - bool hasFlangeEdgeRadius(); - IfcNonNegativeLengthMeasure FlangeEdgeRadius(); + bool hasFlangeEdgeRadius() const; + IfcNonNegativeLengthMeasure FlangeEdgeRadius() const; void setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute FlangeSlope is defined for this IfcIShapeProfileDef - bool hasFlangeSlope(); - IfcPlaneAngleMeasure FlangeSlope(); + bool hasFlangeSlope() const; + IfcPlaneAngleMeasure FlangeSlope() const; void setFlangeSlope(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallWidth"; case 4: return "OverallDepth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "FlangeEdgeRadius"; case 9: return "FlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcIShapeProfileDef (IfcAbstractEntityPtr e); + IfcIShapeProfileDef (IfcAbstractEntity* e); IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope); - typedef IfcIShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcIShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcIShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; }; /// IfcLShapeProfileDef /// defines a section profile that provides the defining parameters of an @@ -21031,43 +20405,41 @@ public: class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. - IfcPositiveLengthMeasure Depth(); + IfcPositiveLengthMeasure Depth() const; void setDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef - bool hasWidth(); + bool hasWidth() const; /// Leg length, see illustration above (= b). Same as the overall width. - IfcPositiveLengthMeasure Width(); + IfcPositiveLengthMeasure Width() const; void setWidth(IfcPositiveLengthMeasure v); /// Constant wall thickness of profile, see illustration above (= ts). - IfcPositiveLengthMeasure Thickness(); + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef - bool hasFilletRadius(); + bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius(); + IfcNonNegativeLengthMeasure FilletRadius() const; void setFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef - bool hasEdgeRadius(); + bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure EdgeRadius(); + IfcNonNegativeLengthMeasure EdgeRadius() const; void setEdgeRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef - bool hasLegSlope(); + bool hasLegSlope() const; /// Slope of the inner face of each leg of the profile. - IfcPlaneAngleMeasure LegSlope(); + IfcPlaneAngleMeasure LegSlope() const; void setLegSlope(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "Thickness"; case 6: return "FilletRadius"; case 7: return "EdgeRadius"; case 8: return "LegSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLShapeProfileDef (IfcAbstractEntityPtr e); + IfcLShapeProfileDef (IfcAbstractEntity* e); IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcNonNegativeLengthMeasure > v7_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope); - typedef IfcLShapeProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLShapeProfileDef > > list; - typedef IfcTemplatedEntityList< IfcLShapeProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcLShapeProfileDef > list; }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: /// @@ -21083,20 +20455,18 @@ public: class IfcLaborResourceType : public IfcConstructionResourceType { public: /// Defines types of labor resources. - IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType(); + IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "PredefinedType"; } return IfcConstructionResourceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLaborResourceType (IfcAbstractEntityPtr e); - IfcLaborResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType); - typedef IfcLaborResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLaborResourceType > > list; - typedef IfcTemplatedEntityList< IfcLaborResourceType >::it it; + IfcLaborResourceType (IfcAbstractEntity* e); + IfcLaborResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType); + 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: /// @@ -21114,23 +20484,21 @@ public: class IfcLine : public IfcCurve { public: /// The location of the line. - IfcCartesianPoint* Pnt(); + IfcCartesianPoint* Pnt() const; void setPnt(IfcCartesianPoint* v); /// The direction of the line, the magnitude and units of Dir affect the parameterization of the line. - IfcVector* Dir(); + IfcVector* Dir() const; void setDir(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Pnt"; case 1: return "Dir"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLine (IfcAbstractEntityPtr e); + IfcLine (IfcAbstractEntity* e); IfcLine (IfcCartesianPoint* v1_Pnt, IfcVector* v2_Dir); - typedef IfcLine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLine > > list; - typedef IfcTemplatedEntityList< IfcLine >::it it; + typedef IfcTemplatedEntityList< IfcLine > list; }; /// Definition from ISO/CD 10303-42:1992: A manifold solid /// B-rep is a finite, arcwise connected volume bounded by one or @@ -21198,20 +20566,18 @@ public: 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(); + IfcClosedShell* Outer() const; void setOuter(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Outer"; } return IfcSolidModel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcManifoldSolidBrep (IfcAbstractEntityPtr e); + IfcManifoldSolidBrep (IfcAbstractEntity* e); IfcManifoldSolidBrep (IfcClosedShell* v1_Outer); - typedef IfcManifoldSolidBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcManifoldSolidBrep > > list; - typedef IfcTemplatedEntityList< IfcManifoldSolidBrep >::it it; + typedef IfcTemplatedEntityList< IfcManifoldSolidBrep > list; }; /// An IfcObject is the /// generalization of any semantically treated thing or process. @@ -21298,26 +20664,24 @@ public: class IfcObject : public IfcObjectDefinition { public: /// Whether the optional attribute ObjectType is defined for this IfcObject - bool hasObjectType(); + bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - IfcLabel ObjectType(); + IfcLabel ObjectType() const; void setObjectType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ObjectType"; } return IfcObjectDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByObject > > IsDeclaredBy(); // INVERSE IfcRelDefinesByObject::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByObject > > Declares(); // INVERSE IfcRelDefinesByObject::RelatingObject - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > IsTypedBy(); // INVERSE IfcRelDefinesByType::RelatedObjects - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > IsDefinedBy(); // INVERSE IfcRelDefinesByProperties::RelatedObjects + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefinesByObject >::ptr IsDeclaredBy() const; // INVERSE IfcRelDefinesByObject::RelatedObjects + IfcTemplatedEntityList< IfcRelDefinesByObject >::ptr Declares() const; // INVERSE IfcRelDefinesByObject::RelatingObject + IfcTemplatedEntityList< IfcRelDefinesByType >::ptr IsTypedBy() const; // INVERSE IfcRelDefinesByType::RelatedObjects + IfcTemplatedEntityList< IfcRelDefinesByProperties >::ptr IsDefinedBy() const; // INVERSE IfcRelDefinesByProperties::RelatedObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcObject (IfcAbstractEntityPtr e); + IfcObject (IfcAbstractEntity* e); IfcObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcObject > > list; - typedef IfcTemplatedEntityList< IfcObject >::it it; + 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. /// @@ -21333,26 +20697,24 @@ public: class IfcOffsetCurve2D : public IfcCurve { public: /// The curve that is being offset. - IfcCurve* BasisCurve(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) - IfcLengthMeasure Distance(); + IfcLengthMeasure Distance() const; void setDistance(IfcLengthMeasure v); /// An indication of whether the offset curve self-intersects; this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOffsetCurve2D (IfcAbstractEntityPtr e); + IfcOffsetCurve2D (IfcAbstractEntity* e); IfcOffsetCurve2D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect); - typedef IfcOffsetCurve2D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOffsetCurve2D > > list; - typedef IfcTemplatedEntityList< IfcOffsetCurve2D >::it it; + typedef IfcTemplatedEntityList< IfcOffsetCurve2D > list; }; /// Definition from ISO/CD 10303-42:1992: An offset curve 3d is a curve at a constant distance from a basis curve in three-dimensional space. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve the transition code between each segment shall be cont same gradient or cont same gradient same curvature. The offset curve at any point (parameter) on the basis curve is in the direction V x T where V is the fixed reference direction and T is the unit tangent to the basis curve. For the offset direction to be well defined, T shall not at any point of the curve be in the same, or opposite, direction as V. /// @@ -21372,49 +20734,45 @@ public: class IfcOffsetCurve3D : public IfcCurve { public: /// The curve that is being offset. - IfcCurve* BasisCurve(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. - IfcLengthMeasure Distance(); + IfcLengthMeasure Distance() const; void setDistance(IfcLengthMeasure v); /// An indication of whether the offset curve self-intersects, this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(bool v); /// The direction used to define the direction of the offset curve 3d from the basis curve. - IfcDirection* RefDirection(); + IfcDirection* RefDirection() const; void setRefDirection(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; case 3: return "RefDirection"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOffsetCurve3D (IfcAbstractEntityPtr e); + IfcOffsetCurve3D (IfcAbstractEntity* e); IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); - typedef IfcOffsetCurve3D* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOffsetCurve3D > > list; - typedef IfcTemplatedEntityList< IfcOffsetCurve3D >::it it; + typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; }; class IfcPcurve : public IfcCurve { public: - IfcSurface* BasisSurface(); + IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); - IfcCurve* ReferenceCurve(); + IfcCurve* ReferenceCurve() const; void setReferenceCurve(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "ReferenceCurve"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPcurve (IfcAbstractEntityPtr e); + IfcPcurve (IfcAbstractEntity* e); IfcPcurve (IfcSurface* v1_BasisSurface, IfcCurve* v2_ReferenceCurve); - typedef IfcPcurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPcurve > > list; - typedef IfcTemplatedEntityList< IfcPcurve >::it it; + typedef IfcTemplatedEntityList< IfcPcurve > 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. /// @@ -21426,20 +20784,18 @@ class IfcPlanarBox : public IfcPlanarExtent { public: /// The IfcAxis2Placement positions a local coordinate system for the definition of the rectangle. The origin of this local coordinate system serves as the lower left corner of the rectangular box. /// NOTE  In case of a 3D placement by IfcAxisPlacement3D the IfcPlanarBox is defined within the xy plane of the definition coordinate system. - IfcAxis2Placement Placement(); + IfcAxis2Placement Placement() const; void setPlacement(IfcAxis2Placement v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Placement"; } return IfcPlanarExtent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlanarBox (IfcAbstractEntityPtr e); + IfcPlanarBox (IfcAbstractEntity* e); IfcPlanarBox (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement); - typedef IfcPlanarBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlanarBox > > list; - typedef IfcTemplatedEntityList< IfcPlanarBox >::it it; + typedef IfcTemplatedEntityList< IfcPlanarBox > list; }; /// Definition from ISO/CD 10303-42:1992: A plane is an unbounded surface with a constant normal. A plane is defined by a point on the plane and the normal direction to the plane. The data is to be interpreted as follows: /// @@ -21482,15 +20838,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementarySurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementarySurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlane (IfcAbstractEntityPtr e); + IfcPlane (IfcAbstractEntity* e); IfcPlane (IfcAxis2Placement3D* v1_Position); - typedef IfcPlane* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlane > > list; - typedef IfcTemplatedEntityList< IfcPlane >::it it; + typedef IfcTemplatedEntityList< IfcPlane > list; }; /// The pre defined colour determines those qualified names which can be used to identify a colour that is in scope of the current data exchange specification (in contrary to colour specification which defines the colour directly by its colour components). /// @@ -21502,15 +20856,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedColour (IfcAbstractEntityPtr e); + IfcPreDefinedColour (IfcAbstractEntity* e); IfcPreDefinedColour (IfcLabel v1_Name); - typedef IfcPreDefinedColour* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedColour > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedColour >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedColour > list; }; /// Definition from ISO/CD 10303-46:1992: The predefined curve font type is an abstract supertype provided to define an application specific curve font. The name label shall be constrained in the application protocol to values that are given specific meaning for curve fonts in that application protocol. /// @@ -21524,15 +20876,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedCurveFont (IfcAbstractEntityPtr e); + IfcPreDefinedCurveFont (IfcAbstractEntity* e); IfcPreDefinedCurveFont (IfcLabel v1_Name); - typedef IfcPreDefinedCurveFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedCurveFont > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont > list; }; /// IfcPreDefinedPropertySet /// is a generalization of all statically defined property sets that @@ -21559,15 +20909,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPreDefinedPropertySet (IfcAbstractEntityPtr e); + IfcPreDefinedPropertySet (IfcAbstractEntity* e); IfcPreDefinedPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPreDefinedPropertySet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPreDefinedPropertySet > > list; - typedef IfcTemplatedEntityList< IfcPreDefinedPropertySet >::it it; + typedef IfcTemplatedEntityList< IfcPreDefinedPropertySet > list; }; /// An IfcProcedureType defines a particular type of procedure that may be specified. /// @@ -21586,20 +20934,18 @@ class IfcProcedureType : public IfcTypeProcess { public: /// Identifies the predefined types of a procedure from which /// the type required may be set. - IfcProcedureTypeEnum::IfcProcedureTypeEnum PredefinedType(); + IfcProcedureTypeEnum::IfcProcedureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcTypeProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProcedureType (IfcAbstractEntityPtr e); - IfcProcedureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType); - typedef IfcProcedureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcedureType > > list; - typedef IfcTemplatedEntityList< IfcProcedureType >::it it; + IfcProcedureType (IfcAbstractEntity* e); + IfcProcedureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcProcedureType > list; }; /// Definition from ISO9000: A process is a set of /// activities that are interrelated or that interact with one @@ -21644,35 +20990,33 @@ public: class IfcProcess : public IfcObject { public: /// Whether the optional attribute Identification is defined for this IfcProcess - bool hasIdentification(); + 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. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute LongDescription is defined for this IfcProcess - bool hasLongDescription(); + bool hasLongDescription() const; /// An extended description or narrative that may be provided. /// /// IFC2x4 CHANGE  New attribute. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; case 6: return "LongDescription"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > IsPredecessorTo(); // INVERSE IfcRelSequence::RelatingProcess - SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > IsSuccessorFrom(); // INVERSE IfcRelSequence::RelatedProcess - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > OperatesOn(); // INVERSE IfcRelAssignsToProcess::RelatingProcess + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelSequence >::ptr IsPredecessorTo() const; // INVERSE IfcRelSequence::RelatingProcess + IfcTemplatedEntityList< IfcRelSequence >::ptr IsSuccessorFrom() const; // INVERSE IfcRelSequence::RelatedProcess + IfcTemplatedEntityList< IfcRelAssignsToProcess >::ptr OperatesOn() const; // INVERSE IfcRelAssignsToProcess::RelatingProcess bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProcess (IfcAbstractEntityPtr e); + IfcProcess (IfcAbstractEntity* e); IfcProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription); - typedef IfcProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcess > > list; - typedef IfcTemplatedEntityList< IfcProcess >::it it; + typedef IfcTemplatedEntityList< IfcProcess > list; }; /// Any object that relates to a /// geometric or spatial context. Subtypes of IfcProduct @@ -21768,28 +21112,26 @@ public: class IfcProduct : public IfcObject { public: /// Whether the optional attribute ObjectPlacement is defined for this IfcProduct - bool hasObjectPlacement(); + 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(); + IfcObjectPlacement* ObjectPlacement() const; void setObjectPlacement(IfcObjectPlacement* v); /// Whether the optional attribute Representation is defined for this IfcProduct - bool hasRepresentation(); + bool hasRepresentation() const; /// 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(); + IfcProductRepresentation* Representation() const; void setRepresentation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ObjectPlacement"; case 6: return "Representation"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > ReferencedBy(); // INVERSE IfcRelAssignsToProduct::RelatingProduct + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToProduct >::ptr ReferencedBy() const; // INVERSE IfcRelAssignsToProduct::RelatingProduct bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProduct (IfcAbstractEntityPtr e); + IfcProduct (IfcAbstractEntity* e); IfcProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > list; - typedef IfcTemplatedEntityList< IfcProduct >::it it; + typedef IfcTemplatedEntityList< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or /// maintenance activities leading towards a product. The project establishes the context for information to be exchanged or shared, and it may represent a construction project but does not have to. The IfcProject's main purpose in an exchange structure is to provide the root instance and the context for all other information items included. @@ -21840,15 +21182,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcContext::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProject (IfcAbstractEntityPtr e); - IfcProject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); - typedef IfcProject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProject > > list; - typedef IfcTemplatedEntityList< IfcProject >::it it; + IfcProject (IfcAbstractEntity* e); + IfcProject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + typedef IfcTemplatedEntityList< IfcProject > list; }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. /// @@ -21879,15 +21219,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcContext::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectLibrary (IfcAbstractEntityPtr e); - IfcProjectLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationContext > > > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); - typedef IfcProjectLibrary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectLibrary > > list; - typedef IfcTemplatedEntityList< IfcProjectLibrary >::it it; + IfcProjectLibrary (IfcAbstractEntity* e); + IfcProjectLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + typedef IfcTemplatedEntityList< IfcProjectLibrary > list; }; /// A property with a bounded /// value, IfcPropertyBoundedValue, defines a property @@ -21996,39 +21334,37 @@ public: class IfcPropertyBoundedValue : public IfcSimpleProperty { public: /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue - bool hasUpperBoundValue(); + 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(); + IfcValue UpperBoundValue() const; void setUpperBoundValue(IfcValue v); /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue - bool hasLowerBoundValue(); + bool hasLowerBoundValue() const; /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). - IfcValue LowerBoundValue(); + IfcValue LowerBoundValue() const; void setLowerBoundValue(IfcValue v); /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue - bool hasUnit(); + bool hasUnit() const; /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); /// Whether the optional attribute SetPointValue is defined for this IfcPropertyBoundedValue - bool hasSetPointValue(); + bool hasSetPointValue() const; /// Set point value as typically used for operational value setting. /// /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. - IfcValue SetPointValue(); + IfcValue SetPointValue() const; void setSetPointValue(IfcValue v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UpperBoundValue"; case 3: return "LowerBoundValue"; case 4: return "Unit"; case 5: return "SetPointValue"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyBoundedValue (IfcAbstractEntityPtr e); + IfcPropertyBoundedValue (IfcAbstractEntity* e); IfcPropertyBoundedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit, boost::optional< IfcValue > v6_SetPointValue); - typedef IfcPropertyBoundedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyBoundedValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyBoundedValue >::it it; + typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; }; /// A property with an enumerated /// value, IfcPropertyEnumeratedValue, defines a property @@ -22110,29 +21446,27 @@ public: class IfcPropertyEnumeratedValue : public IfcSimpleProperty { public: /// Whether the optional attribute EnumerationValues is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationValues(); + 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. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > EnumerationValues(); - void setEnumerationValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; + void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue - bool hasEnumerationReference(); + bool hasEnumerationReference() const; /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. - IfcPropertyEnumeration* EnumerationReference(); + IfcPropertyEnumeration* EnumerationReference() const; void setEnumerationReference(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EnumerationValues"; case 3: return "EnumerationReference"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyEnumeratedValue (IfcAbstractEntityPtr e); - IfcPropertyEnumeratedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntities > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); - typedef IfcPropertyEnumeratedValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyEnumeratedValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue >::it it; + IfcPropertyEnumeratedValue (IfcAbstractEntity* e); + IfcPropertyEnumeratedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); + typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue /// defines a property that has several (numeric or @@ -22202,29 +21536,27 @@ public: class IfcPropertyListValue : public IfcSimpleProperty { public: /// Whether the optional attribute ListValues is defined for this IfcPropertyListValue - bool hasListValues(); + bool hasListValues() const; /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > ListValues(); - void setListValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; + void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyListValue - bool hasUnit(); + bool hasUnit() const; /// Unit for the list values, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ListValues"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyListValue (IfcAbstractEntityPtr e); - IfcPropertyListValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntities > v3_ListValues, boost::optional< IfcUnit > v4_Unit); - typedef IfcPropertyListValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyListValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyListValue >::it it; + IfcPropertyListValue (IfcAbstractEntity* e); + IfcPropertyListValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, boost::optional< IfcUnit > v4_Unit); + typedef IfcTemplatedEntityList< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to /// be given by referencing other entities within the resource @@ -22244,29 +21576,27 @@ public: class IfcPropertyReferenceValue : public IfcSimpleProperty { public: /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue - bool hasUsageName(); + bool hasUsageName() const; /// Description of the use of the referenced value within the property. - IfcText UsageName(); + IfcText UsageName() const; void setUsageName(IfcText v); /// Whether the optional attribute PropertyReference is defined for this IfcPropertyReferenceValue - bool hasPropertyReference(); + bool hasPropertyReference() const; /// Reference to another property entity through one of the select types in the IfcObjectReferenceSelect. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcObjectReferenceSelect PropertyReference(); + IfcObjectReferenceSelect PropertyReference() const; void setPropertyReference(IfcObjectReferenceSelect v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "PropertyReference"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyReferenceValue (IfcAbstractEntityPtr e); + IfcPropertyReferenceValue (IfcAbstractEntity* e); IfcPropertyReferenceValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcText > v3_UsageName, boost::optional< IfcObjectReferenceSelect > v4_PropertyReference); - typedef IfcPropertyReferenceValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyReferenceValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyReferenceValue >::it it; + typedef IfcTemplatedEntityList< IfcPropertyReferenceValue > list; }; /// IfcPropertySet defines all dynamically extensible /// properties. The property set is a container class that holds @@ -22324,20 +21654,18 @@ public: class IfcPropertySet : public IfcPropertySetDefinition { public: /// Contained set of properties. For property sets defined as part of the IFC Object model, the property objects within a property set are defined as part of the standard. If a property is not contained within the set of predefined properties, its value has not been set at this time. - SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > HasProperties(); - void setHasProperties(SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v); + IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; + void setHasProperties(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "HasProperties"; } return IfcPropertySetDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySet (IfcAbstractEntityPtr e); - IfcPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProperty > > v5_HasProperties); - typedef IfcPropertySet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySet > > list; - typedef IfcTemplatedEntityList< IfcPropertySet >::it it; + IfcPropertySet (IfcAbstractEntity* e); + IfcPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); + typedef IfcTemplatedEntityList< IfcPropertySet > list; }; /// IfcPropertySetTemplate defines the template for all /// dynamically extensible property sets represented by @@ -22373,13 +21701,13 @@ public: class IfcPropertySetTemplate : public IfcPropertyTemplateDefinition { public: /// Whether the optional attribute TemplateType is defined for this IfcPropertySetTemplate - bool hasTemplateType(); + 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(); + IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum TemplateType() const; void setTemplateType(IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum v); /// Whether the optional attribute ApplicableEntity is defined for this IfcPropertySetTemplate - bool hasApplicableEntity(); + bool hasApplicableEntity() const; /// 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 @@ -22390,24 +21718,22 @@ public: /// EXAMPLE Refering to a boiler type as applicable entity would be expressed as 'IfcBoilerType', refering to a steam boiler type as applicable entity would be expressed as 'IfcBoilerType/STEAM', refering to a wall and wall standard case and a wall type would be expressed as 'IfcWall, IfcWallStandardCase, IfcWallType'. /// /// An applicable IfcPerformanceHistory assigned to an occurrence or type object would be indicated by IfcBoilerType[PerformanceHistory], or respectively IfcBoilerType/STEAM[PerformanceHistory]. - IfcIdentifier ApplicableEntity(); + IfcIdentifier ApplicableEntity() const; void setApplicableEntity(IfcIdentifier v); /// Set of IfcPropertyTemplate's that are defined within the scope of the IfcPropertySetTemplate. - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > HasPropertyTemplates(); - void setHasPropertyTemplates(SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > v); + IfcTemplatedEntityList< IfcPropertyTemplate >::ptr HasPropertyTemplates() const; + void setHasPropertyTemplates(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "TemplateType"; case 5: return "ApplicableEntity"; case 6: return "HasPropertyTemplates"; } return IfcPropertyTemplateDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByTemplate > > Defines(); // INVERSE IfcRelDefinesByTemplate::RelatingTemplate + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelDefinesByTemplate >::ptr Defines() const; // INVERSE IfcRelDefinesByTemplate::RelatingTemplate bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySetTemplate (IfcAbstractEntityPtr e); - IfcPropertySetTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< IfcIdentifier > v6_ApplicableEntity, SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > v7_HasPropertyTemplates); - typedef IfcPropertySetTemplate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetTemplate > > list; - typedef IfcTemplatedEntityList< IfcPropertySetTemplate >::it it; + IfcPropertySetTemplate (IfcAbstractEntity* e); + IfcPropertySetTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< IfcIdentifier > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates); + typedef IfcTemplatedEntityList< IfcPropertySetTemplate > list; }; /// The property with a single value /// IfcPropertySingleValue defines a property object which has @@ -22456,31 +21782,29 @@ public: class IfcPropertySingleValue : public IfcSimpleProperty { public: /// Whether the optional attribute NominalValue is defined for this IfcPropertySingleValue - bool hasNominalValue(); + 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(); + IfcValue NominalValue() const; void setNominalValue(IfcValue v); /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue - bool hasUnit(); + bool hasUnit() const; /// Unit for the nominal value, if not given, the default value for the measure type (given by the TYPE of nominal value) is used as defined by the global unit assignment at IfcProject. - IfcUnit Unit(); + IfcUnit Unit() const; void setUnit(IfcUnit v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "NominalValue"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertySingleValue (IfcAbstractEntityPtr e); + IfcPropertySingleValue (IfcAbstractEntity* e); IfcPropertySingleValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit); - typedef IfcPropertySingleValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertySingleValue > > list; - typedef IfcTemplatedEntityList< IfcPropertySingleValue >::it it; + typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; }; /// A property with a range value /// (IfcPropertyTableValue) defines a property object @@ -22631,53 +21955,51 @@ public: class IfcPropertyTableValue : public IfcSimpleProperty { public: /// Whether the optional attribute DefiningValues is defined for this IfcPropertyTableValue - bool hasDefiningValues(); + 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. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > DefiningValues(); - void setDefiningValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefiningValues() const; + void setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute DefinedValues is defined for this IfcPropertyTableValue - bool hasDefinedValues(); + bool hasDefinedValues() const; /// Defined values which are applicable for the scope as defined by the defining values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > DefinedValues(); - void setDefinedValues(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefinedValues() const; + void setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue - bool hasExpression(); + bool hasExpression() const; /// Expression for the derivation of defined values from the defining values, the expression is given for information only, i.e. no automatic processing can be expected from the expression. - IfcText Expression(); + IfcText Expression() const; void setExpression(IfcText v); /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue - bool hasDefiningUnit(); + bool hasDefiningUnit() const; /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefiningUnit(); + IfcUnit DefiningUnit() const; void setDefiningUnit(IfcUnit v); /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue - bool hasDefinedUnit(); + bool hasDefinedUnit() const; /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefinedUnit(); + IfcUnit DefinedUnit() const; void setDefinedUnit(IfcUnit v); /// Whether the optional attribute CurveInterpolation is defined for this IfcPropertyTableValue - bool hasCurveInterpolation(); + bool hasCurveInterpolation() const; /// 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(); + IfcCurveInterpolationEnum::IfcCurveInterpolationEnum CurveInterpolation() const; void setCurveInterpolation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "DefiningValues"; case 3: return "DefinedValues"; case 4: return "Expression"; case 5: return "DefiningUnit"; case 6: return "DefinedUnit"; case 7: return "CurveInterpolation"; } return IfcSimpleProperty::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyTableValue (IfcAbstractEntityPtr e); - IfcPropertyTableValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntities > v3_DefiningValues, boost::optional< IfcEntities > v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation); - typedef IfcPropertyTableValue* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTableValue > > list; - typedef IfcTemplatedEntityList< IfcPropertyTableValue >::it it; + IfcPropertyTableValue (IfcAbstractEntity* e); + IfcPropertyTableValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation); + typedef IfcTemplatedEntityList< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype /// comprising the templates for all dynamically extensible properties, @@ -22708,17 +22030,15 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPropertyTemplateDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPropertyTemplateDefinition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcComplexPropertyTemplate > > PartOfComplexTemplate(); // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates - SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetTemplate > > PartOfPsetTemplate(); // INVERSE IfcPropertySetTemplate::HasPropertyTemplates + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcComplexPropertyTemplate >::ptr PartOfComplexTemplate() const; // INVERSE IfcComplexPropertyTemplate::HasPropertyTemplates + IfcTemplatedEntityList< IfcPropertySetTemplate >::ptr PartOfPsetTemplate() const; // INVERSE IfcPropertySetTemplate::HasPropertyTemplates bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPropertyTemplate (IfcAbstractEntityPtr e); + IfcPropertyTemplate (IfcAbstractEntity* e); IfcPropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcPropertyTemplate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > list; - typedef IfcTemplatedEntityList< IfcPropertyTemplate >::it it; + 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. /// @@ -22739,25 +22059,23 @@ public: 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(); + IfcObjectTypeEnum::IfcObjectTypeEnum ProxyType() const; void setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v); /// Whether the optional attribute Tag is defined for this IfcProxy - bool hasTag(); + bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcLabel Tag(); + IfcLabel Tag() const; void setTag(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "ProxyType"; case 8: return "Tag"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProxy (IfcAbstractEntityPtr e); + IfcProxy (IfcAbstractEntity* e); IfcProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag); - typedef IfcProxy* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProxy > > list; - typedef IfcTemplatedEntityList< IfcProxy >::it it; + 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. /// @@ -22782,30 +22100,28 @@ public: class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. - IfcPositiveLengthMeasure WallThickness(); + IfcPositiveLengthMeasure WallThickness() const; void setWallThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasInnerFilletRadius(); + bool hasInnerFilletRadius() const; /// Inner corner radius. - IfcNonNegativeLengthMeasure InnerFilletRadius(); + IfcNonNegativeLengthMeasure InnerFilletRadius() const; void setInnerFilletRadius(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef - bool hasOuterFilletRadius(); + bool hasOuterFilletRadius() const; /// Outer corner radius. - IfcNonNegativeLengthMeasure OuterFilletRadius(); + IfcNonNegativeLengthMeasure OuterFilletRadius() const; void setOuterFilletRadius(IfcNonNegativeLengthMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "WallThickness"; case 6: return "InnerFilletRadius"; case 7: return "OuterFilletRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangleHollowProfileDef (IfcAbstractEntityPtr e); + IfcRectangleHollowProfileDef (IfcAbstractEntity* e); IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_OuterFilletRadius); - typedef IfcRectangleHollowProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangleHollowProfileDef > > list; - typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef > list; }; /// The IfcRectangularPyramid is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a rectangular base and @@ -22898,26 +22214,24 @@ public: class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength(); + IfcPositiveLengthMeasure XLength() const; void setXLength(IfcPositiveLengthMeasure v); /// The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength(); + IfcPositiveLengthMeasure YLength() const; void setYLength(IfcPositiveLengthMeasure v); /// The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure Height(); + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "Height"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangularPyramid (IfcAbstractEntityPtr e); + IfcRectangularPyramid (IfcAbstractEntity* e); IfcRectangularPyramid (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height); - typedef IfcRectangularPyramid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangularPyramid > > list; - typedef IfcTemplatedEntityList< IfcRectangularPyramid >::it it; + typedef IfcTemplatedEntityList< IfcRectangularPyramid > list; }; /// Definition from ISO/CD 10303-42:1992: The trimmed surface is a simple bounded surface in which the boundaries are the constant parametric lines u1 = u1, u2 = u2, v1 = v1 and v2 = v2. All these values shall be within the parametric range of the referenced surface. Cyclic properties of the parameter range are assumed. /// @@ -22937,38 +22251,36 @@ public: class IfcRectangularTrimmedSurface : public IfcBoundedSurface { public: /// Surface being trimmed. - IfcSurface* BasisSurface(); + IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// First u parametric value. - IfcParameterValue U1(); + IfcParameterValue U1() const; void setU1(IfcParameterValue v); /// First v parametric value. - IfcParameterValue V1(); + IfcParameterValue V1() const; void setV1(IfcParameterValue v); /// Second u parametric value. - IfcParameterValue U2(); + IfcParameterValue U2() const; void setU2(IfcParameterValue v); /// Second v parametric value. - IfcParameterValue V2(); + IfcParameterValue V2() const; void setV2(IfcParameterValue 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(); + bool Usense() const; void setUsense(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(); + bool Vsense() const; void setVsense(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "U1"; case 2: return "V1"; case 3: return "U2"; case 4: return "V2"; case 5: return "Usense"; case 6: return "Vsense"; } return IfcBoundedSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRectangularTrimmedSurface (IfcAbstractEntityPtr e); + IfcRectangularTrimmedSurface (IfcAbstractEntity* e); IfcRectangularTrimmedSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense); - typedef IfcRectangularTrimmedSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRectangularTrimmedSurface > > list; - typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface >::it it; + typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface > list; }; /// Definition from IAI: An /// IfcReinforcementDefinitionProperties defines the cross section @@ -22999,25 +22311,23 @@ public: class IfcReinforcementDefinitionProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties - bool hasDefinitionType(); + bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - IfcLabel DefinitionType(); + IfcLabel DefinitionType() const; void setDefinitionType(IfcLabel v); /// The list of section reinforcement properties attached to the reinforcement definition properties. - SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > ReinforcementSectionDefinitions(); - void setReinforcementSectionDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v); + IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; + void setReinforcementSectionDefinitions(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "DefinitionType"; case 5: return "ReinforcementSectionDefinitions"; } return IfcPreDefinedPropertySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcementDefinitionProperties (IfcAbstractEntityPtr e); - IfcReinforcementDefinitionProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, SHARED_PTR< IfcTemplatedEntityList< IfcSectionReinforcementProperties > > v6_ReinforcementSectionDefinitions); - typedef IfcReinforcementDefinitionProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > > list; - typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties >::it it; + IfcReinforcementDefinitionProperties (IfcAbstractEntity* e); + IfcReinforcementDefinitionProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); + 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. /// @@ -23033,26 +22343,24 @@ public: class IfcRelAssigns : public IfcRelationship { public: /// Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns. - SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v); + IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Whether the optional attribute RelatedObjectsType is defined for this IfcRelAssigns - bool hasRelatedObjectsType(); + bool hasRelatedObjectsType() const; /// 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(); + IfcObjectTypeEnum::IfcObjectTypeEnum RelatedObjectsType() const; void setRelatedObjectsType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; case 5: return "RelatedObjectsType"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssigns (IfcAbstractEntityPtr e); - IfcRelAssigns (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); - typedef IfcRelAssigns* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssigns > > list; - typedef IfcTemplatedEntityList< IfcRelAssigns >::it it; + IfcRelAssigns (IfcAbstractEntity* e); + IfcRelAssigns (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); + typedef IfcTemplatedEntityList< IfcRelAssigns > list; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). /// @@ -23066,25 +22374,23 @@ public: 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(); + IfcActor* RelatingActor() const; void setRelatingActor(IfcActor* v); /// Whether the optional attribute ActingRole is defined for this IfcRelAssignsToActor - bool hasActingRole(); + bool hasActingRole() const; /// Role of the actor played within the context of the assignment to the object(s). - IfcActorRole* ActingRole(); + IfcActorRole* ActingRole() const; void setActingRole(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingActor"; case 7: return "ActingRole"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToActor (IfcAbstractEntityPtr e); - IfcRelAssignsToActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); - typedef IfcRelAssignsToActor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToActor > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToActor >::it it; + IfcRelAssignsToActor (IfcAbstractEntity* e); + IfcRelAssignsToActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + 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). /// @@ -23094,20 +22400,18 @@ public: class IfcRelAssignsToControl : public IfcRelAssigns { public: /// Reference to the IfcControl that applies a control upon objects. - IfcControl* RelatingControl(); + IfcControl* RelatingControl() const; void setRelatingControl(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingControl"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToControl (IfcAbstractEntityPtr e); - IfcRelAssignsToControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); - typedef IfcRelAssignsToControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToControl > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToControl >::it it; + IfcRelAssignsToControl (IfcAbstractEntity* e); + IfcRelAssignsToControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + 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). /// @@ -23125,20 +22429,18 @@ public: class IfcRelAssignsToGroup : public IfcRelAssigns { public: /// Reference to group that contains all assigned group members. - IfcGroup* RelatingGroup(); + IfcGroup* RelatingGroup() const; void setRelatingGroup(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingGroup"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToGroup (IfcAbstractEntityPtr e); - IfcRelAssignsToGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); - typedef IfcRelAssignsToGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroup > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToGroup >::it it; + IfcRelAssignsToGroup (IfcAbstractEntity* e); + IfcRelAssignsToGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); + 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). /// @@ -23152,20 +22454,18 @@ public: class IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. - IfcRatioMeasure Factor(); + IfcRatioMeasure Factor() const; void setFactor(IfcRatioMeasure v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcRelAssignsToGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Factor"; } return IfcRelAssignsToGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToGroupByFactor (IfcAbstractEntityPtr e); - IfcRelAssignsToGroupByFactor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, IfcRatioMeasure v8_Factor); - typedef IfcRelAssignsToGroupByFactor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroupByFactor > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToGroupByFactor >::it it; + IfcRelAssignsToGroupByFactor (IfcAbstractEntity* e); + IfcRelAssignsToGroupByFactor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, IfcRatioMeasure v8_Factor); + 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. /// @@ -23194,25 +22494,23 @@ public: /// Reference to the process to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcProcess and IfcTypeProcess. - IfcProcessSelect RelatingProcess(); + IfcProcessSelect RelatingProcess() const; void setRelatingProcess(IfcProcessSelect v); /// Whether the optional attribute QuantityInProcess is defined for this IfcRelAssignsToProcess - bool hasQuantityInProcess(); + bool hasQuantityInProcess() const; /// Quantity of the object specific for the operation by this process. - IfcMeasureWithUnit* QuantityInProcess(); + IfcMeasureWithUnit* QuantityInProcess() const; void setQuantityInProcess(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingProcess"; case 7: return "QuantityInProcess"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToProcess (IfcAbstractEntityPtr e); - IfcRelAssignsToProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); - typedef IfcRelAssignsToProcess* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProcess > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToProcess >::it it; + IfcRelAssignsToProcess (IfcAbstractEntity* e); + IfcRelAssignsToProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); + 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: /// @@ -23227,20 +22525,18 @@ public: /// Reference to the product or product type to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcProduct and IfcTypeProduct. - IfcProductSelect RelatingProduct(); + IfcProductSelect RelatingProduct() const; void setRelatingProduct(IfcProductSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingProduct"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToProduct (IfcAbstractEntityPtr e); - IfcRelAssignsToProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect v7_RelatingProduct); - typedef IfcRelAssignsToProduct* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToProduct > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToProduct >::it it; + IfcRelAssignsToProduct (IfcAbstractEntity* e); + IfcRelAssignsToProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect v7_RelatingProduct); + typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects /// (as subtypes of IfcObject), acting as a resource usage or consumption, to a resource (as subtypes of IfcResource). @@ -23253,20 +22549,18 @@ public: /// Reference to the resource to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcResource and IfcTypeResource. - IfcResourceSelect RelatingResource(); + IfcResourceSelect RelatingResource() const; void setRelatingResource(IfcResourceSelect v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingResource"; } return IfcRelAssigns::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssignsToResource (IfcAbstractEntityPtr e); - IfcRelAssignsToResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect v7_RelatingResource); - typedef IfcRelAssignsToResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > list; - typedef IfcTemplatedEntityList< IfcRelAssignsToResource >::it it; + IfcRelAssignsToResource (IfcAbstractEntity* e); + IfcRelAssignsToResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect v7_RelatingResource); + typedef IfcTemplatedEntityList< IfcRelAssignsToResource > list; }; /// The association relationship /// IfcRelAssociates refers to external sources of @@ -23314,20 +22608,18 @@ public: /// Set of object or property definitions to which the external references or information is associated. It includes object and type objects, property set templates, property templates and property sets and contexts. /// /// IFC2x4 CHANGE  The attribute datatype has been changed from IfcRoot to IfcDefinitionSelect. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedObjects() const; + void setRelatedObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociates (IfcAbstractEntityPtr e); - IfcRelAssociates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects); - typedef IfcRelAssociates* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociates > > list; - typedef IfcTemplatedEntityList< IfcRelAssociates >::it it; + IfcRelAssociates (IfcAbstractEntity* e); + IfcRelAssociates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > 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. /// @@ -23335,20 +22627,18 @@ public: class IfcRelAssociatesApproval : public IfcRelAssociates { public: /// Reference to approval that is being applied using this relationship. - IfcApproval* RelatingApproval(); + IfcApproval* RelatingApproval() const; void setRelatingApproval(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingApproval"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesApproval (IfcAbstractEntityPtr e); - IfcRelAssociatesApproval (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcApproval* v6_RelatingApproval); - typedef IfcRelAssociatesApproval* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesApproval > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesApproval >::it it; + IfcRelAssociatesApproval (IfcAbstractEntity* e); + IfcRelAssociatesApproval (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); + typedef IfcTemplatedEntityList< IfcRelAssociatesApproval > list; }; /// The objectified relationship /// IfcRelAssociatesClassification handles the assignment of a @@ -23383,20 +22673,18 @@ public: class IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. - IfcClassificationSelect RelatingClassification(); + IfcClassificationSelect RelatingClassification() const; void setRelatingClassification(IfcClassificationSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingClassification"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesClassification (IfcAbstractEntityPtr e); - IfcRelAssociatesClassification (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcClassificationSelect v6_RelatingClassification); - typedef IfcRelAssociatesClassification* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesClassification > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesClassification >::it it; + IfcRelAssociatesClassification (IfcAbstractEntity* e); + IfcRelAssociatesClassification (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect v6_RelatingClassification); + typedef IfcTemplatedEntityList< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. /// @@ -23404,25 +22692,23 @@ public: class IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// Whether the optional attribute Intent is defined for this IfcRelAssociatesConstraint - bool hasIntent(); + bool hasIntent() const; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. - IfcLabel Intent(); + IfcLabel Intent() const; void setIntent(IfcLabel v); /// Reference to constraint that is being applied using this relationship. - IfcConstraint* RelatingConstraint(); + IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Intent"; case 6: return "RelatingConstraint"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesConstraint (IfcAbstractEntityPtr e); - IfcRelAssociatesConstraint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, boost::optional< IfcLabel > v6_Intent, IfcConstraint* v7_RelatingConstraint); - typedef IfcRelAssociatesConstraint* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesConstraint > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint >::it it; + IfcRelAssociatesConstraint (IfcAbstractEntity* e); + IfcRelAssociatesConstraint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< IfcLabel > v6_Intent, IfcConstraint* v7_RelatingConstraint); + 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). /// @@ -23434,20 +22720,18 @@ public: class IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. - IfcDocumentSelect RelatingDocument(); + IfcDocumentSelect RelatingDocument() const; void setRelatingDocument(IfcDocumentSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingDocument"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesDocument (IfcAbstractEntityPtr e); - IfcRelAssociatesDocument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument); - typedef IfcRelAssociatesDocument* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesDocument > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesDocument >::it it; + IfcRelAssociatesDocument (IfcAbstractEntity* e); + IfcRelAssociatesDocument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument); + 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. /// @@ -23459,20 +22743,18 @@ public: class IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. - IfcLibrarySelect RelatingLibrary(); + IfcLibrarySelect RelatingLibrary() const; void setRelatingLibrary(IfcLibrarySelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingLibrary"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesLibrary (IfcAbstractEntityPtr e); - IfcRelAssociatesLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary); - typedef IfcRelAssociatesLibrary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesLibrary > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary >::it it; + IfcRelAssociatesLibrary (IfcAbstractEntity* e); + IfcRelAssociatesLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary); + typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a /// material definition and elements or element types to which this @@ -23571,20 +22853,18 @@ public: class IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. - IfcMaterialSelect RelatingMaterial(); + IfcMaterialSelect RelatingMaterial() const; void setRelatingMaterial(IfcMaterialSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingMaterial"; } return IfcRelAssociates::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAssociatesMaterial (IfcAbstractEntityPtr e); - IfcRelAssociatesMaterial (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntities v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial); - typedef IfcRelAssociatesMaterial* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAssociatesMaterial > > list; - typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial >::it it; + IfcRelAssociatesMaterial (IfcAbstractEntity* e); + IfcRelAssociatesMaterial (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial); + 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. /// @@ -23594,15 +22874,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnects (IfcAbstractEntityPtr e); + IfcRelConnects (IfcAbstractEntity* e); IfcRelConnects (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRelConnects* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnects > > list; - typedef IfcTemplatedEntityList< IfcRelConnects >::it it; + typedef IfcTemplatedEntityList< IfcRelConnects > list; }; /// Definition from IAI: The /// IfcRelConnectsElements objectified relationship @@ -23629,28 +22907,26 @@ public: class IfcRelConnectsElements : public IfcRelConnects { public: /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelConnectsElements - bool hasConnectionGeometry(); + 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(); + IfcConnectionGeometry* ConnectionGeometry() const; void setConnectionGeometry(IfcConnectionGeometry* v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatingElement. - IfcElement* RelatingElement(); + IfcElement* RelatingElement() const; void setRelatingElement(IfcElement* v); /// Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatedElement. - IfcElement* RelatedElement(); + IfcElement* RelatedElement() const; void setRelatedElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ConnectionGeometry"; case 5: return "RelatingElement"; case 6: return "RelatedElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsElements (IfcAbstractEntityPtr e); + IfcRelConnectsElements (IfcAbstractEntity* e); IfcRelConnectsElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); - typedef IfcRelConnectsElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsElements >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; }; /// The /// IfcRelConnectsPathElements relationship provides the connectivity information between two elements, which have path information. @@ -23687,29 +22963,27 @@ public: class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. - std::vector< double > /*[0:?]*/ RelatingPriorities(); + std::vector< double > /*[0:?]*/ RelatingPriorities() const; void setRelatingPriorities(std::vector< double > /*[0:?]*/ v); /// Priorities for connection. It refers to the layers of the RelatedObject. - std::vector< double > /*[0:?]*/ RelatedPriorities(); + std::vector< double > /*[0:?]*/ RelatedPriorities() const; void setRelatedPriorities(std::vector< double > /*[0:?]*/ v); /// Indication of the connection type in relation to the path of the RelatingObject. - IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType(); + IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType() const; void setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); /// Indication of the connection type in relation to the path of the RelatingObject. - IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType(); + IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType() const; void setRelatingConnectionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RelatingPriorities"; case 8: return "RelatedPriorities"; case 9: return "RelatedConnectionType"; case 10: return "RelatingConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsPathElements (IfcAbstractEntityPtr e); + IfcRelConnectsPathElements (IfcAbstractEntity* e); IfcRelConnectsPathElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); - typedef IfcRelConnectsPathElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPathElements > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsPathElements >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship /// IfcRelConnectsPortToElement defines the relationship that @@ -23739,25 +23013,23 @@ public: class IfcRelConnectsPortToElement : public IfcRelConnects { public: /// Reference to an Port that is connected by the objectified relationship. - IfcPort* RelatingPort(); + IfcPort* RelatingPort() const; void setRelatingPort(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(); + IfcDistributionElement* RelatedElement() const; void setRelatedElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingPort"; case 5: return "RelatedElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsPortToElement (IfcAbstractEntityPtr e); + IfcRelConnectsPortToElement (IfcAbstractEntity* e); IfcRelConnectsPortToElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement); - typedef IfcRelConnectsPortToElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement > list; }; /// Definition from IAI: An IfcRelConnectsPorts /// defines the relationship that is made between two ports at @@ -23775,28 +23047,26 @@ public: class IfcRelConnectsPorts : public IfcRelConnects { public: /// Reference to the first port that is connected by the objectified relationship. - IfcPort* RelatingPort(); + IfcPort* RelatingPort() const; void setRelatingPort(IfcPort* v); /// Reference to the second port that is connected by the objectified relationship. - IfcPort* RelatedPort(); + IfcPort* RelatedPort() const; void setRelatedPort(IfcPort* v); /// Whether the optional attribute RealizingElement is defined for this IfcRelConnectsPorts - bool hasRealizingElement(); + bool hasRealizingElement() const; /// Defines the element that realizes a port connection relationship. - IfcElement* RealizingElement(); + IfcElement* RealizingElement() const; void setRealizingElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingPort"; case 5: return "RelatedPort"; case 6: return "RealizingElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsPorts (IfcAbstractEntityPtr e); + IfcRelConnectsPorts (IfcAbstractEntity* e); IfcRelConnectsPorts (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); - typedef IfcRelConnectsPorts* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsPorts >::it it; + 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. /// @@ -23804,23 +23074,21 @@ public: class IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. - IfcStructuralActivityAssignmentSelect RelatingElement(); + IfcStructuralActivityAssignmentSelect RelatingElement() const; void setRelatingElement(IfcStructuralActivityAssignmentSelect v); /// Reference to a structural activity which is acting upon the specified structural item or element. - IfcStructuralActivity* RelatedStructuralActivity(); + IfcStructuralActivity* RelatedStructuralActivity() const; void setRelatedStructuralActivity(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingElement"; case 5: return "RelatedStructuralActivity"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsStructuralActivity (IfcAbstractEntityPtr e); + IfcRelConnectsStructuralActivity (IfcAbstractEntity* e); IfcRelConnectsStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); - typedef IfcRelConnectsStructuralActivity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). /// @@ -23849,43 +23117,41 @@ public: class IfcRelConnectsStructuralMember : public IfcRelConnects { public: /// Reference to an instance of IfcStructuralMember (or its subclasses) which is connected to the specified structural connection. - IfcStructuralMember* RelatingStructuralMember(); + IfcStructuralMember* RelatingStructuralMember() const; void setRelatingStructuralMember(IfcStructuralMember* v); /// Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member. - IfcStructuralConnection* RelatedStructuralConnection(); + IfcStructuralConnection* RelatedStructuralConnection() const; void setRelatedStructuralConnection(IfcStructuralConnection* v); /// Whether the optional attribute AppliedCondition is defined for this IfcRelConnectsStructuralMember - bool hasAppliedCondition(); + bool hasAppliedCondition() const; /// 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(); + IfcBoundaryCondition* AppliedCondition() const; void setAppliedCondition(IfcBoundaryCondition* v); /// Whether the optional attribute AdditionalConditions is defined for this IfcRelConnectsStructuralMember - bool hasAdditionalConditions(); + bool hasAdditionalConditions() const; /// Describes additional connection properties. - IfcStructuralConnectionCondition* AdditionalConditions(); + IfcStructuralConnectionCondition* AdditionalConditions() const; void setAdditionalConditions(IfcStructuralConnectionCondition* v); /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember - bool hasSupportedLength(); + bool hasSupportedLength() const; /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - IfcLengthMeasure SupportedLength(); + IfcLengthMeasure SupportedLength() const; void setSupportedLength(IfcLengthMeasure v); /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember - bool hasConditionCoordinateSystem(); + bool hasConditionCoordinateSystem() const; /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. - IfcAxis2Placement3D* ConditionCoordinateSystem(); + IfcAxis2Placement3D* ConditionCoordinateSystem() const; void setConditionCoordinateSystem(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingStructuralMember"; case 5: return "RelatedStructuralConnection"; case 6: return "AppliedCondition"; case 7: return "AdditionalConditions"; case 8: return "SupportedLength"; case 9: return "ConditionCoordinateSystem"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsStructuralMember (IfcAbstractEntityPtr e); + IfcRelConnectsStructuralMember (IfcAbstractEntity* e); IfcRelConnectsStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); - typedef IfcRelConnectsStructuralMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::it it; + 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). /// @@ -23907,20 +23173,18 @@ public: 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(); + IfcConnectionGeometry* ConnectionConstraint() const; void setConnectionConstraint(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "ConnectionConstraint"; } return IfcRelConnectsStructuralMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsWithEccentricity (IfcAbstractEntityPtr e); + IfcRelConnectsWithEccentricity (IfcAbstractEntity* e); IfcRelConnectsWithEccentricity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); - typedef IfcRelConnectsWithEccentricity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity >::it it; + typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: /// IfcRelConnectsWithRealizingElements defines a @@ -23948,25 +23212,23 @@ public: class IfcRelConnectsWithRealizingElements : public IfcRelConnectsElements { public: /// Defines the elements that realize a connection relationship. - SHARED_PTR< IfcTemplatedEntityList< IfcElement > > RealizingElements(); - void setRealizingElements(SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v); + IfcTemplatedEntityList< IfcElement >::ptr RealizingElements() const; + void setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v); /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements - bool hasConnectionType(); + bool hasConnectionType() const; /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - IfcLabel ConnectionType(); + IfcLabel ConnectionType() const; void setConnectionType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnectsElements::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RealizingElements"; case 8: return "ConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelConnectsWithRealizingElements (IfcAbstractEntityPtr e); - IfcRelConnectsWithRealizingElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, SHARED_PTR< IfcTemplatedEntityList< IfcElement > > v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType); - typedef IfcRelConnectsWithRealizingElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > > list; - typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements >::it it; + IfcRelConnectsWithRealizingElements (IfcAbstractEntity* e); + IfcRelConnectsWithRealizingElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType); + typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, /// IfcRelContainedInSpatialStructure, is used to assign @@ -24035,23 +23297,21 @@ public: /// Set of elements products, which are contained within this level of the spatial structure hierarchy. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcElement to IfcProduct with upward compatibility - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > RelatedElements(); - void setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v); + IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; + void setRelatedElements(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(); + IfcSpatialElement* RelatingStructure() const; void setRelatingStructure(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedElements"; case 5: return "RelatingStructure"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelContainedInSpatialStructure (IfcAbstractEntityPtr e); - IfcRelContainedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); - typedef IfcRelContainedInSpatialStructure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > list; - typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::it it; + IfcRelContainedInSpatialStructure (IfcAbstractEntity* e); + IfcRelContainedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); + typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > list; }; /// Definition from IAI: The /// IfcRelCoversBldgElements is an objectified relationship @@ -24074,23 +23334,21 @@ public: /// Relationship to the building element that is covered. /// /// IFC2x4 CHANGE: The attribute type has been changed from IfcElement to IfcBuildingElement. - IfcElement* RelatingBuildingElement(); + IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(IfcElement* v); /// Relationship to the set of coverings at this element. - SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > RelatedCoverings(); - void setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v); + IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; + void setRelatedCoverings(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingBuildingElement"; case 5: return "RelatedCoverings"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelCoversBldgElements (IfcAbstractEntityPtr e); - IfcRelCoversBldgElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings); - typedef IfcRelCoversBldgElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > list; - typedef IfcTemplatedEntityList< IfcRelCoversBldgElements >::it it; + IfcRelCoversBldgElements (IfcAbstractEntity* e); + IfcRelCoversBldgElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + typedef IfcTemplatedEntityList< IfcRelCoversBldgElements > list; }; /// Definition from IAI: The objectified relationship, /// IfcRelCoversSpace, relatesÿa space object to one or @@ -24123,23 +23381,21 @@ public: /// Relationship to the space object that is covered. /// /// IFC2x4 CHANGE: The attribute name has been changed from RelatedSpace to RelatingSpace with upward compatibility for file based exchange. - IfcSpace* RelatingSpace(); + IfcSpace* RelatingSpace() const; void setRelatingSpace(IfcSpace* v); /// Relationship to the set of coverings covering this space. - SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > RelatedCoverings(); - void setRelatedCoverings(SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v); + IfcTemplatedEntityList< IfcCovering >::ptr RelatedCoverings() const; + void setRelatedCoverings(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingSpace"; case 5: return "RelatedCoverings"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelCoversSpaces (IfcAbstractEntityPtr e); - IfcRelCoversSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > v6_RelatedCoverings); - typedef IfcRelCoversSpaces* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > list; - typedef IfcTemplatedEntityList< IfcRelCoversSpaces >::it it; + IfcRelCoversSpaces (IfcAbstractEntity* e); + IfcRelCoversSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + 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). /// @@ -24155,23 +23411,21 @@ public: class IfcRelDeclares : public IfcRelationship { public: /// Reference to the IfcProject to which additional information is assigned. - IfcContext* RelatingContext(); + IfcContext* RelatingContext() const; void setRelatingContext(IfcContext* v); /// Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > RelatedDefinitions(); - void setRelatedDefinitions(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedDefinitions() const; + void setRelatedDefinitions(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingContext"; case 5: return "RelatedDefinitions"; } return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDeclares (IfcAbstractEntityPtr e); - IfcRelDeclares (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcContext* v5_RelatingContext, IfcEntities v6_RelatedDefinitions); - typedef IfcRelDeclares* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDeclares > > list; - typedef IfcTemplatedEntityList< IfcRelDeclares >::it it; + IfcRelDeclares (IfcAbstractEntity* e); + IfcRelDeclares (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions); + typedef IfcTemplatedEntityList< IfcRelDeclares > list; }; /// The decomposition relationship, /// IfcRelDecomposes, defines the general concept of elements @@ -24208,15 +23462,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDecomposes (IfcAbstractEntityPtr e); + IfcRelDecomposes (IfcAbstractEntity* e); IfcRelDecomposes (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRelDecomposes* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDecomposes > > list; - typedef IfcTemplatedEntityList< IfcRelDecomposes >::it it; + typedef IfcTemplatedEntityList< IfcRelDecomposes > list; }; /// A generic and abstract relationship which subtypes are used to: /// @@ -24250,15 +23502,13 @@ public: virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcRelationship::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefines (IfcAbstractEntityPtr e); + IfcRelDefines (IfcAbstractEntity* e); IfcRelDefines (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); - typedef IfcRelDefines* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefines > > list; - typedef IfcTemplatedEntityList< IfcRelDefines >::it it; + 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. /// The IfcRelDefinesByObject is a 1-to-N relationship, as it allows for the assignment of one declaring object information to a single or to many reflected objects. Those objects then share the same object property sets and, for subtypes of IfcProduct, the eventually assigned representation maps. @@ -24278,23 +23528,21 @@ public: class IfcRelDefinesByObject : public IfcRelDefines { public: /// Objects being part of an object occurrence decomposition, acting as the "reflecting parts" in the relationship. - SHARED_PTR< IfcTemplatedEntityList< IfcObject > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v); + IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; + void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); /// Object being part of an object type decomposition, acting as the "declaring part" in the relationship. - IfcObject* RelatingObject(); + IfcObject* RelatingObject() const; void setRelatingObject(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; case 5: return "RelatingObject"; } return IfcRelDefines::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefinesByObject (IfcAbstractEntityPtr e); - IfcRelDefinesByObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcObject* v6_RelatingObject); - typedef IfcRelDefinesByObject* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByObject > > list; - typedef IfcTemplatedEntityList< IfcRelDefinesByObject >::it it; + IfcRelDefinesByObject (IfcAbstractEntity* e); + IfcRelDefinesByObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject); + typedef IfcTemplatedEntityList< IfcRelDefinesByObject > list; }; /// The objectified relationship /// IfcRelDefinesByProperties defines the relationships @@ -24314,23 +23562,21 @@ public: class IfcRelDefinesByProperties : public IfcRelDefines { public: /// Reference to the objects (or single object) to which the property definition applies. - SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v); + IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Reference to the property set definition for that object or set of objects. - IfcPropertySetDefinitionSelect RelatingPropertyDefinition(); + IfcPropertySetDefinitionSelect RelatingPropertyDefinition() const; void setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; case 5: return "RelatingPropertyDefinition"; } return IfcRelDefines::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefinesByProperties (IfcAbstractEntityPtr e); - IfcRelDefinesByProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v5_RelatedObjects, IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); - typedef IfcRelDefinesByProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByProperties > > list; - typedef IfcTemplatedEntityList< IfcRelDefinesByProperties >::it it; + IfcRelDefinesByProperties (IfcAbstractEntity* e); + IfcRelDefinesByProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + typedef IfcTemplatedEntityList< IfcRelDefinesByProperties > list; }; /// The objectified relationship /// IfcRelDefinesByTemplate defines the relationships between @@ -24347,23 +23593,21 @@ public: class IfcRelDefinesByTemplate : public IfcRelDefines { public: /// One or many property sets defined by a single property set template. - SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > RelatedPropertySets(); - void setRelatedPropertySets(SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v); + IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr RelatedPropertySets() const; + void setRelatedPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v); /// Property set template that provides the common definition of related property sets. - IfcPropertySetTemplate* RelatingTemplate(); + IfcPropertySetTemplate* RelatingTemplate() const; void setRelatingTemplate(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedPropertySets"; case 5: return "RelatingTemplate"; } return IfcRelDefines::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefinesByTemplate (IfcAbstractEntityPtr e); - IfcRelDefinesByTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate); - typedef IfcRelDefinesByTemplate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByTemplate > > list; - typedef IfcTemplatedEntityList< IfcRelDefinesByTemplate >::it it; + IfcRelDefinesByTemplate (IfcAbstractEntity* e); + IfcRelDefinesByTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate); + typedef IfcTemplatedEntityList< IfcRelDefinesByTemplate > list; }; /// The objectified relationship /// IfcRelDefinesByType defines the relationship between an @@ -24438,23 +23682,21 @@ public: /// FALSE class IfcRelDefinesByType : public IfcRelDefines { public: - SHARED_PTR< IfcTemplatedEntityList< IfcObject > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v); + IfcTemplatedEntityList< IfcObject >::ptr RelatedObjects() const; + void setRelatedObjects(IfcTemplatedEntityList< IfcObject >::ptr v); /// Reference to the type (or style) information for that object or set of objects. - IfcTypeObject* RelatingType(); + IfcTypeObject* RelatingType() const; void setRelatingType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; case 5: return "RelatingType"; } return IfcRelDefines::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelDefinesByType (IfcAbstractEntityPtr e); - IfcRelDefinesByType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcObject > > v5_RelatedObjects, IfcTypeObject* v6_RelatingType); - typedef IfcRelDefinesByType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelDefinesByType > > list; - typedef IfcTemplatedEntityList< IfcRelDefinesByType >::it it; + IfcRelDefinesByType (IfcAbstractEntity* e); + IfcRelDefinesByType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); + 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. /// @@ -24468,25 +23710,23 @@ public: class IfcRelFillsElement : public IfcRelConnects { public: /// Opening Element being filled by virtue of this relationship. - IfcOpeningElement* RelatingOpeningElement(); + IfcOpeningElement* RelatingOpeningElement() const; void setRelatingOpeningElement(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(); + IfcElement* RelatedBuildingElement() const; void setRelatedBuildingElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingOpeningElement"; case 5: return "RelatedBuildingElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelFillsElement (IfcAbstractEntityPtr e); + IfcRelFillsElement (IfcAbstractEntity* e); IfcRelFillsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); - typedef IfcRelFillsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > list; - typedef IfcTemplatedEntityList< IfcRelFillsElement >::it it; + 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. /// @@ -24498,23 +23738,21 @@ public: class IfcRelFlowControlElements : public IfcRelConnects { public: /// References control elements which may be used to impart control on the Distribution Element. - SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > RelatedControlElements(); - void setRelatedControlElements(SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v); + IfcTemplatedEntityList< IfcDistributionControlElement >::ptr RelatedControlElements() const; + void setRelatedControlElements(IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v); /// Relationship to a distribution flow element - IfcDistributionFlowElement* RelatingFlowElement(); + IfcDistributionFlowElement* RelatingFlowElement() const; void setRelatingFlowElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedControlElements"; case 5: return "RelatingFlowElement"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelFlowControlElements (IfcAbstractEntityPtr e); - IfcRelFlowControlElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); - typedef IfcRelFlowControlElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > list; - typedef IfcTemplatedEntityList< IfcRelFlowControlElements >::it it; + IfcRelFlowControlElements (IfcAbstractEntity* e); + IfcRelFlowControlElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); + typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; }; /// Definition from IAI: The /// IfcRelInterferesElements objectified relationship @@ -24566,36 +23804,34 @@ public: 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(); + IfcElement* RelatingElement() const; void setRelatingElement(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(); + IfcElement* RelatedElement() const; void setRelatedElement(IfcElement* v); /// Whether the optional attribute InterferenceGeometry is defined for this IfcRelInterferesElements - bool hasInterferenceGeometry(); + bool hasInterferenceGeometry() const; /// 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(); + IfcConnectionGeometry* InterferenceGeometry() const; void setInterferenceGeometry(IfcConnectionGeometry* v); /// Whether the optional attribute InterferenceType is defined for this IfcRelInterferesElements - bool hasInterferenceType(); + bool hasInterferenceType() const; /// Optional identifier that describes the nature of the interference. Examples could include 'Clash', 'ProvisionForVoid', etc. - IfcIdentifier InterferenceType(); + IfcIdentifier InterferenceType() const; void setInterferenceType(IfcIdentifier 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(); + bool ImpliedOrder() const; void setImpliedOrder(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingElement"; case 5: return "RelatedElement"; case 6: return "InterferenceGeometry"; case 7: return "InterferenceType"; case 8: return "ImpliedOrder"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelInterferesElements (IfcAbstractEntityPtr e); + IfcRelInterferesElements (IfcAbstractEntity* e); IfcRelInterferesElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< IfcIdentifier > v8_InterferenceType, bool v9_ImpliedOrder); - typedef IfcRelInterferesElements* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelInterferesElements > > list; - typedef IfcTemplatedEntityList< IfcRelInterferesElements >::it it; + typedef IfcTemplatedEntityList< IfcRelInterferesElements > list; }; /// The nesting relationship /// IfcRelNests is a special type of the general @@ -24627,25 +23863,23 @@ public: /// The object definition, either an non-product object type or a non-product object occurrence, that represents the nest. It is the whole within the whole/part relationship. /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the ordered nesting relationship. - IfcObjectDefinition* RelatingObject(); + IfcObjectDefinition* RelatingObject() const; void setRelatingObject(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. - SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v); + IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingObject"; case 5: return "RelatedObjects"; } return IfcRelDecomposes::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelNests (IfcAbstractEntityPtr e); - IfcRelNests (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects); - typedef IfcRelNests* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelNests > > list; - typedef IfcTemplatedEntityList< IfcRelNests >::it it; + IfcRelNests (IfcAbstractEntity* e); + IfcRelNests (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelNests > list; }; /// The IfcRelProjectsElement is an objectified relationship /// between an element and one projection element that creates a @@ -24682,23 +23916,21 @@ public: class IfcRelProjectsElement : public IfcRelDecomposes { public: /// Element at which a projection is created by the associated IfcProjectionElement. - IfcElement* RelatingElement(); + IfcElement* RelatingElement() const; void setRelatingElement(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(); + IfcFeatureElementAddition* RelatedFeatureElement() const; void setRelatedFeatureElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingElement"; case 5: return "RelatedFeatureElement"; } return IfcRelDecomposes::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelProjectsElement (IfcAbstractEntityPtr e); + IfcRelProjectsElement (IfcAbstractEntity* e); IfcRelProjectsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); - typedef IfcRelProjectsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > list; - typedef IfcTemplatedEntityList< IfcRelProjectsElement >::it it; + typedef IfcTemplatedEntityList< IfcRelProjectsElement > list; }; /// The objectified relationship, /// IfcRelReferencedInSpatialStructure is used to @@ -24753,25 +23985,23 @@ class IfcRelReferencedInSpatialStructure : public IfcRelConnects { public: /// Set of products, which are referenced within this level of the spatial structure hierarchy. /// NOTE  Referenced elements are contained elsewhere within the spatial structure, they are referenced additionally by this spatial structure element, e.g., because they span several stories. - SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > RelatedElements(); - void setRelatedElements(SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v); + IfcTemplatedEntityList< IfcProduct >::ptr RelatedElements() const; + void setRelatedElements(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(); + IfcSpatialElement* RelatingStructure() const; void setRelatingStructure(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedElements"; case 5: return "RelatingStructure"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelReferencedInSpatialStructure (IfcAbstractEntityPtr e); - IfcRelReferencedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, SHARED_PTR< IfcTemplatedEntityList< IfcProduct > > v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); - typedef IfcRelReferencedInSpatialStructure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > list; - typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::it it; + IfcRelReferencedInSpatialStructure (IfcAbstractEntity* e); + IfcRelReferencedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); + typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a /// sequential relationship between processes where one process @@ -24830,25 +24060,25 @@ public: class IfcRelSequence : public IfcRelConnects { public: /// Reference to the process, that is the predecessor. - IfcProcess* RelatingProcess(); + IfcProcess* RelatingProcess() const; void setRelatingProcess(IfcProcess* v); /// Reference to the process, that is the successor. - IfcProcess* RelatedProcess(); + IfcProcess* RelatedProcess() const; void setRelatedProcess(IfcProcess* v); /// Whether the optional attribute TimeLag is defined for this IfcRelSequence - bool hasTimeLag(); + bool hasTimeLag() const; /// Time duration of the sequence, it is the time lag between the /// predecessor and the successor as specified by the /// SequenceType. - IfcLagTime* TimeLag(); + IfcLagTime* TimeLag() const; void setTimeLag(IfcLagTime* v); /// Whether the optional attribute SequenceType is defined for this IfcRelSequence - bool hasSequenceType(); + bool hasSequenceType() const; /// The way in which the time lag applies to the sequence. - IfcSequenceEnum::IfcSequenceEnum SequenceType(); + IfcSequenceEnum::IfcSequenceEnum SequenceType() const; void setSequenceType(IfcSequenceEnum::IfcSequenceEnum v); /// Whether the optional attribute UserDefinedSequenceType is defined for this IfcRelSequence - bool hasUserDefinedSequenceType(); + bool hasUserDefinedSequenceType() const; /// 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 @@ -24858,20 +24088,18 @@ public: /// enumeration value USERDEFINED. /// /// Added in IFC 2x4 - IfcLabel UserDefinedSequenceType(); + IfcLabel UserDefinedSequenceType() const; void setUserDefinedSequenceType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnects::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingProcess"; case 5: return "RelatedProcess"; case 6: return "TimeLag"; case 7: return "SequenceType"; case 8: return "UserDefinedSequenceType"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSequence (IfcAbstractEntityPtr e); + IfcRelSequence (IfcAbstractEntity* e); IfcRelSequence (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< IfcLabel > v9_UserDefinedSequenceType); - typedef IfcRelSequence* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSequence > > list; - typedef IfcTemplatedEntityList< IfcRelSequence >::it it; + typedef IfcTemplatedEntityList< IfcRelSequence > list; }; /// Definition from IAI: An objectified relationship /// that defines the relationship between a system and the @@ -24897,27 +24125,25 @@ public: class IfcRelServicesBuildings : public IfcRelConnects { public: /// System that services the Buildings. - IfcSystem* RelatingSystem(); + IfcSystem* RelatingSystem() const; void setRelatingSystem(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. - SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > RelatedBuildings(); - void setRelatedBuildings(SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > v); + IfcTemplatedEntityList< IfcSpatialElement >::ptr RelatedBuildings() const; + void setRelatedBuildings(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingSystem"; case 5: return "RelatedBuildings"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelServicesBuildings (IfcAbstractEntityPtr e); - IfcRelServicesBuildings (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > v6_RelatedBuildings); - typedef IfcRelServicesBuildings* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > list; - typedef IfcTemplatedEntityList< IfcRelServicesBuildings >::it it; + IfcRelServicesBuildings (IfcAbstractEntity* e); + IfcRelServicesBuildings (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings); + typedef IfcTemplatedEntityList< IfcRelServicesBuildings > list; }; /// The space boundary defines the /// physical or virtual delimiter of a space by the relationship @@ -25084,40 +24310,38 @@ public: class IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. - IfcSpaceBoundarySelect RelatingSpace(); + IfcSpaceBoundarySelect RelatingSpace() const; void setRelatingSpace(IfcSpaceBoundarySelect v); /// Reference to Building Element, that defines the Space Boundaries. /// /// IFC2x PLATFORM CHANGE  The data type has been changed from IfcBuildingElement to IfcElement with upward compatibility for file based exchange. /// /// IFC2x4 CHANGE  The attribute has been changed to be mandatory. - IfcElement* RelatedBuildingElement(); + IfcElement* RelatedBuildingElement() const; void setRelatedBuildingElement(IfcElement* v); /// Whether the optional attribute ConnectionGeometry is defined for this IfcRelSpaceBoundary - bool hasConnectionGeometry(); + bool hasConnectionGeometry() const; /// 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(); + IfcConnectionGeometry* ConnectionGeometry() const; void setConnectionGeometry(IfcConnectionGeometry* v); /// Defines, whether the Space Boundary is physical (Physical) or virtual (Virtual). - IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary(); + IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum PhysicalOrVirtualBoundary() const; void setPhysicalOrVirtualBoundary(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(); + IfcInternalOrExternalEnum::IfcInternalOrExternalEnum InternalOrExternalBoundary() const; void setInternalOrExternalBoundary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingSpace"; case 5: return "RelatedBuildingElement"; case 6: return "ConnectionGeometry"; case 7: return "PhysicalOrVirtualBoundary"; case 8: return "InternalOrExternalBoundary"; } return IfcRelConnects::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSpaceBoundary (IfcAbstractEntityPtr e); + IfcRelSpaceBoundary (IfcAbstractEntity* e); IfcRelSpaceBoundary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); - typedef IfcRelSpaceBoundary* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > list; - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary >::it it; + typedef IfcTemplatedEntityList< IfcRelSpaceBoundary > list; }; /// The 1st level space boundary /// defines the physical or virtual delimiter of a space by the @@ -25169,23 +24393,21 @@ public: class IfcRelSpaceBoundary1stLevel : public IfcRelSpaceBoundary { public: /// Whether the optional attribute ParentBoundary is defined for this IfcRelSpaceBoundary1stLevel - bool hasParentBoundary(); + bool hasParentBoundary() const; /// Reference to the host, or parent, space boundary within which this inner boundary is defined. - IfcRelSpaceBoundary1stLevel* ParentBoundary(); + IfcRelSpaceBoundary1stLevel* ParentBoundary() const; void setParentBoundary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "ParentBoundary"; } return IfcRelSpaceBoundary::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel > > InnerBoundaries(); // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel >::ptr InnerBoundaries() const; // INVERSE IfcRelSpaceBoundary1stLevel::ParentBoundary bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSpaceBoundary1stLevel (IfcAbstractEntityPtr e); + IfcRelSpaceBoundary1stLevel (IfcAbstractEntity* e); IfcRelSpaceBoundary1stLevel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary); - typedef IfcRelSpaceBoundary1stLevel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel > > list; - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel >::it it; + 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: /// @@ -25222,23 +24444,21 @@ public: class IfcRelSpaceBoundary2ndLevel : public IfcRelSpaceBoundary1stLevel { public: /// Whether the optional attribute CorrespondingBoundary is defined for this IfcRelSpaceBoundary2ndLevel - bool hasCorrespondingBoundary(); + 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(); + IfcRelSpaceBoundary2ndLevel* CorrespondingBoundary() const; void setCorrespondingBoundary(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "CorrespondingBoundary"; } return IfcRelSpaceBoundary1stLevel::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel > > Corresponds(); // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel >::ptr Corresponds() const; // INVERSE IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelSpaceBoundary2ndLevel (IfcAbstractEntityPtr e); + IfcRelSpaceBoundary2ndLevel (IfcAbstractEntity* e); IfcRelSpaceBoundary2ndLevel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary); - typedef IfcRelSpaceBoundary2ndLevel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel > > list; - typedef IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel >::it it; + 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. /// @@ -25249,22 +24469,20 @@ public: /// HISTORY New entity in IFC Release 1.0 class IfcRelVoidsElement : public IfcRelDecomposes { public: - IfcElement* RelatingBuildingElement(); + IfcElement* RelatingBuildingElement() const; void setRelatingBuildingElement(IfcElement* v); - IfcFeatureElementSubtraction* RelatedOpeningElement(); + IfcFeatureElementSubtraction* RelatedOpeningElement() const; void setRelatedOpeningElement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingBuildingElement"; case 5: return "RelatedOpeningElement"; } return IfcRelDecomposes::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelVoidsElement (IfcAbstractEntityPtr e); + IfcRelVoidsElement (IfcAbstractEntity* e); IfcRelVoidsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); - typedef IfcRelVoidsElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > list; - typedef IfcTemplatedEntityList< IfcRelVoidsElement >::it it; + typedef IfcTemplatedEntityList< IfcRelVoidsElement > list; }; /// Definition from ISO/CD 10303-42:1992: The /// reparametrised composite curve segment is a special type of @@ -25291,20 +24509,18 @@ public: /// HISTORY New class in IFC2x4 class IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcParameterValue ParamLength(); + IfcParameterValue ParamLength() const; void setParamLength(IfcParameterValue v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcCompositeCurveSegment::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ParamLength"; } return IfcCompositeCurveSegment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReparametrisedCompositeCurveSegment (IfcAbstractEntityPtr e); + IfcReparametrisedCompositeCurveSegment (IfcAbstractEntity* e); IfcReparametrisedCompositeCurveSegment (IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, IfcParameterValue v4_ParamLength); - typedef IfcReparametrisedCompositeCurveSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReparametrisedCompositeCurveSegment > > list; - typedef IfcTemplatedEntityList< IfcReparametrisedCompositeCurveSegment >::it it; + typedef IfcTemplatedEntityList< IfcReparametrisedCompositeCurveSegment > list; }; /// IfcResource contains the information needed to represent the costs, schedule, and other impacts from the use of a thing in a process. It is not intended to use IfcResource to model the general properties of the things themselves, while an optional linkage from IfcResource to the things to be used can be specified (specifically, the relationship from subtypes of IfcResource to IfcProduct through the IfcRelAssignsToResource relationship). /// @@ -25322,33 +24538,31 @@ public: class IfcResource : public IfcObject { public: /// Whether the optional attribute Identification is defined for this IfcResource - bool hasIdentification(); + 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. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute LongDescription is defined for this IfcResource - bool hasLongDescription(); + bool hasLongDescription() const; /// A detailed description of the resource (e.g. the skillset for a labor resource). /// /// IFC2x4 NOTE:  The attribute LongDescription is added replacing the ResourceGroup attribute at subtype IfcConstructionResource. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; case 6: return "LongDescription"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToResource > > ResourceOf(); // INVERSE IfcRelAssignsToResource::RelatingResource + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToResource >::ptr ResourceOf() const; // INVERSE IfcRelAssignsToResource::RelatingResource bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcResource (IfcAbstractEntityPtr e); + IfcResource (IfcAbstractEntity* e); IfcResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription); - typedef IfcResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcResource > > list; - typedef IfcTemplatedEntityList< IfcResource >::it it; + typedef IfcTemplatedEntityList< IfcResource > list; }; /// An IfcRevolvedAreaSolid is a solid created by revolving /// a cross section provided by a profile definition about an axis. The @@ -25429,23 +24643,21 @@ public: class IfcRevolvedAreaSolid : public IfcSweptAreaSolid { public: /// Axis about which revolution will take place. - IfcAxis1Placement* Axis(); + IfcAxis1Placement* Axis() const; void setAxis(IfcAxis1Placement* v); /// The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. - IfcPlaneAngleMeasure Angle(); + IfcPlaneAngleMeasure Angle() const; void setAngle(IfcPlaneAngleMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Axis"; case 3: return "Angle"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRevolvedAreaSolid (IfcAbstractEntityPtr e); + IfcRevolvedAreaSolid (IfcAbstractEntity* e); IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle); - typedef IfcRevolvedAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRevolvedAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid >::it it; + typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid > list; }; /// IfcRevolvedAreaSolidTapered is defined by revolving a /// cross section along a circular arc. The cross section may change @@ -25507,20 +24719,18 @@ public: /// not be used class IfcRevolvedAreaSolidTapered : public IfcRevolvedAreaSolid { public: - IfcProfileDef* EndSweptArea(); + IfcProfileDef* EndSweptArea() const; void setEndSweptArea(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "EndSweptArea"; } return IfcRevolvedAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRevolvedAreaSolidTapered (IfcAbstractEntityPtr e); + IfcRevolvedAreaSolidTapered (IfcAbstractEntity* e); IfcRevolvedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle, IfcProfileDef* v5_EndSweptArea); - typedef IfcRevolvedAreaSolidTapered* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRevolvedAreaSolidTapered > > list; - typedef IfcTemplatedEntityList< IfcRevolvedAreaSolidTapered >::it it; + typedef IfcTemplatedEntityList< IfcRevolvedAreaSolidTapered > list; }; /// The IfcRightCircularCone is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -25590,23 +24800,21 @@ public: class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. - IfcPositiveLengthMeasure Height(); + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); /// The radius of the cone at the base. - IfcPositiveLengthMeasure BottomRadius(); + IfcPositiveLengthMeasure BottomRadius() const; void setBottomRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "BottomRadius"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRightCircularCone (IfcAbstractEntityPtr e); + IfcRightCircularCone (IfcAbstractEntity* e); IfcRightCircularCone (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius); - typedef IfcRightCircularCone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRightCircularCone > > list; - typedef IfcTemplatedEntityList< IfcRightCircularCone >::it it; + typedef IfcTemplatedEntityList< IfcRightCircularCone > list; }; /// The IfcRightCircularCylinder is a Construction Solid /// Geometry (CSG) 3D primitive. It is a solid with a circular base and @@ -25692,23 +24900,21 @@ public: class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. - IfcPositiveLengthMeasure Height(); + IfcPositiveLengthMeasure Height() const; void setHeight(IfcPositiveLengthMeasure v); /// The radius of the cylinder. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRightCircularCylinder (IfcAbstractEntityPtr e); + IfcRightCircularCylinder (IfcAbstractEntity* e); IfcRightCircularCylinder (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius); - typedef IfcRightCircularCylinder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRightCircularCylinder > > list; - typedef IfcTemplatedEntityList< IfcRightCircularCylinder >::it it; + typedef IfcTemplatedEntityList< IfcRightCircularCylinder > list; }; /// The IfcSimplePropertyTemplate defines the template for /// all dynamically extensible properties, either the subtypes of @@ -25758,26 +24964,26 @@ public: class IfcSimplePropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute TemplateType is defined for this IfcSimplePropertyTemplate - bool hasTemplateType(); + 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(); + IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum TemplateType() const; void setTemplateType(IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum v); /// Whether the optional attribute PrimaryMeasureType is defined for this IfcSimplePropertyTemplate - bool hasPrimaryMeasureType(); - IfcLabel PrimaryMeasureType(); + bool hasPrimaryMeasureType() const; + IfcLabel PrimaryMeasureType() const; void setPrimaryMeasureType(IfcLabel v); /// Whether the optional attribute SecondaryMeasureType is defined for this IfcSimplePropertyTemplate - bool hasSecondaryMeasureType(); - IfcLabel SecondaryMeasureType(); + bool hasSecondaryMeasureType() const; + IfcLabel SecondaryMeasureType() const; void setSecondaryMeasureType(IfcLabel v); /// Whether the optional attribute Enumerators is defined for this IfcSimplePropertyTemplate - bool hasEnumerators(); - IfcPropertyEnumeration* Enumerators(); + bool hasEnumerators() const; + IfcPropertyEnumeration* Enumerators() const; void setEnumerators(IfcPropertyEnumeration* v); /// Whether the optional attribute PrimaryUnit is defined for this IfcSimplePropertyTemplate - bool hasPrimaryUnit(); + bool hasPrimaryUnit() const; /// 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 @@ -25785,27 +24991,27 @@ public: /// P_BOUNDEDVALUE: determining the IfcPropertyBoundedValue.Unit /// P_LISTVALUE: determining the IfcPropertyListValue.Unit /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefiningUnit - IfcUnit PrimaryUnit(); + IfcUnit PrimaryUnit() const; void setPrimaryUnit(IfcUnit v); /// Whether the optional attribute SecondaryUnit is defined for this IfcSimplePropertyTemplate - bool hasSecondaryUnit(); + bool hasSecondaryUnit() const; /// Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: /// /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit - IfcUnit SecondaryUnit(); + IfcUnit SecondaryUnit() const; void setSecondaryUnit(IfcUnit v); /// Whether the optional attribute Expression is defined for this IfcSimplePropertyTemplate - bool hasExpression(); + bool hasExpression() const; /// The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to: /// /// 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. - IfcLabel Expression(); + IfcLabel Expression() const; void setExpression(IfcLabel v); /// Whether the optional attribute AccessState is defined for this IfcSimplePropertyTemplate - bool hasAccessState(); + bool hasAccessState() const; /// Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it. /// Attribute use definition for IfcStateEnum /// @@ -25818,20 +25024,18 @@ 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(); + IfcStateEnum::IfcStateEnum AccessState() const; void setAccessState(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "TemplateType"; case 5: return "PrimaryMeasureType"; case 6: return "SecondaryMeasureType"; case 7: return "Enumerators"; case 8: return "PrimaryUnit"; case 9: return "SecondaryUnit"; case 10: return "Expression"; case 11: return "AccessState"; } return IfcPropertyTemplate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSimplePropertyTemplate (IfcAbstractEntityPtr e); + IfcSimplePropertyTemplate (IfcAbstractEntity* e); IfcSimplePropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< IfcLabel > v6_PrimaryMeasureType, boost::optional< IfcLabel > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, boost::optional< IfcUnit > v9_PrimaryUnit, boost::optional< IfcUnit > v10_SecondaryUnit, boost::optional< IfcLabel > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState); - typedef IfcSimplePropertyTemplate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSimplePropertyTemplate > > list; - typedef IfcTemplatedEntityList< IfcSimplePropertyTemplate >::it it; + typedef IfcTemplatedEntityList< IfcSimplePropertyTemplate > list; }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used @@ -25867,27 +25071,25 @@ public: class IfcSpatialElement : public IfcProduct { public: /// Whether the optional attribute LongName is defined for this IfcSpatialElement - bool hasLongName(); + 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. - IfcLabel LongName(); + IfcLabel LongName() const; void setLongName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "LongName"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainsElements(); // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure - SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > ServicedBySystems(); // INVERSE IfcRelServicesBuildings::RelatedBuildings - SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > ReferencesElements(); // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainsElements() const; // INVERSE IfcRelContainedInSpatialStructure::RelatingStructure + IfcTemplatedEntityList< IfcRelServicesBuildings >::ptr ServicedBySystems() const; // INVERSE IfcRelServicesBuildings::RelatedBuildings + IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ReferencesElements() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatingStructure bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialElement (IfcAbstractEntityPtr e); + IfcSpatialElement (IfcAbstractEntity* e); IfcSpatialElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName); - typedef IfcSpatialElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElement > > list; - typedef IfcTemplatedEntityList< IfcSpatialElement >::it it; + typedef IfcTemplatedEntityList< IfcSpatialElement > list; }; /// Definition from IAI: The IfcSpatialElementType /// defines a list of commonly shared property set definitions of a @@ -25923,22 +25125,20 @@ public: class IfcSpatialElementType : public IfcTypeProduct { public: /// Whether the optional attribute ElementType is defined for this IfcSpatialElementType - bool hasElementType(); + bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ElementType(); + IfcLabel ElementType() const; void setElementType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ElementType"; } return IfcTypeProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialElementType (IfcAbstractEntityPtr e); - IfcSpatialElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcSpatialElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialElementType > > list; - typedef IfcTemplatedEntityList< IfcSpatialElementType >::it it; + IfcSpatialElementType (IfcAbstractEntity* e); + IfcSpatialElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcSpatialElementType > list; }; /// A spatial structure element /// (IfcSpatialStructureElement) is the generalization of all @@ -26017,25 +25217,23 @@ public: class IfcSpatialStructureElement : public IfcSpatialElement { public: /// Whether the optional attribute CompositionType is defined for this IfcSpatialStructureElement - bool hasCompositionType(); + 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(); + IfcElementCompositionEnum::IfcElementCompositionEnum CompositionType() const; void setCompositionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "CompositionType"; } return IfcSpatialElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialStructureElement (IfcAbstractEntityPtr e); + IfcSpatialStructureElement (IfcAbstractEntity* e); IfcSpatialStructureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); - typedef IfcSpatialStructureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElement > > list; - typedef IfcTemplatedEntityList< IfcSpatialStructureElement >::it it; + typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type /// (IfcSpatialStructureElementType) defines a list of @@ -26076,15 +25274,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSpatialElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSpatialElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialStructureElementType (IfcAbstractEntityPtr e); - IfcSpatialStructureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcSpatialStructureElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialStructureElementType > > list; - typedef IfcTemplatedEntityList< IfcSpatialStructureElementType >::it it; + IfcSpatialStructureElementType (IfcAbstractEntity* e); + IfcSpatialStructureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcSpatialStructureElementType > list; }; /// Definition from IAI: A spatial element is the /// generalization of all spatial elements that might be used to @@ -26138,22 +25334,20 @@ public: class IfcSpatialZone : public IfcSpatialElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpatialZone - bool hasPredefinedType(); + 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(); + IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcSpatialElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialZone (IfcAbstractEntityPtr e); + IfcSpatialZone (IfcAbstractEntity* e); IfcSpatialZone (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType); - typedef IfcSpatialZone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialZone > > list; - typedef IfcTemplatedEntityList< IfcSpatialZone >::it it; + typedef IfcTemplatedEntityList< IfcSpatialZone > list; }; /// Definition from IAI: The IfcSpatialZoneType /// defines a list of commonly shared property set definitions of a @@ -26188,24 +25382,22 @@ public: 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(); + IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum PredefinedType() const; void setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v); /// Whether the optional attribute LongName is defined for this IfcSpatialZoneType - bool hasLongName(); - IfcLabel LongName(); + bool hasLongName() const; + IfcLabel LongName() const; void setLongName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcSpatialElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "LongName"; } return IfcSpatialElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpatialZoneType (IfcAbstractEntityPtr e); - IfcSpatialZoneType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName); - typedef IfcSpatialZoneType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpatialZoneType > > list; - typedef IfcTemplatedEntityList< IfcSpatialZoneType >::it it; + IfcSpatialZoneType (IfcAbstractEntity* e); + IfcSpatialZoneType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName); + typedef IfcTemplatedEntityList< IfcSpatialZoneType > list; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D /// primitive. It is a solid where all points at the surface have the @@ -26260,20 +25452,18 @@ public: class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSphere (IfcAbstractEntityPtr e); + IfcSphere (IfcAbstractEntity* e); IfcSphere (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius); - typedef IfcSphere* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSphere > > list; - typedef IfcTemplatedEntityList< IfcSphere >::it it; + typedef IfcTemplatedEntityList< IfcSphere > list; }; /// Definition from IAI: The abstract entity IfcStructuralActivity combines the definition of actions (such as forces, displacements, etc.) and reactions (support reactions, internal forces, deflections, etc.) which are specified by using the basic load definitions from the IfcStructuralLoadResource. /// @@ -26373,7 +25563,7 @@ public: /// Load or result resource object which defines the load type, direction, and load values. /// /// 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(); + IfcStructuralLoad* AppliedLoad() const; void setAppliedLoad(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) @@ -26392,21 +25582,19 @@ public: /// but as the analysis model specific shared coordinate system. In contrast, LOCAL_COORDS /// 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(); + IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum GlobalOrLocal() const; void setGlobalOrLocal(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "AppliedLoad"; case 8: return "GlobalOrLocal"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > AssignedToStructuralItem(); // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedToStructuralItem() const; // INVERSE IfcRelConnectsStructuralActivity::RelatedStructuralActivity bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralActivity (IfcAbstractEntityPtr e); + IfcStructuralActivity (IfcAbstractEntity* e); IfcStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); - typedef IfcStructuralActivity* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralActivity > > list; - typedef IfcTemplatedEntityList< IfcStructuralActivity >::it it; + 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). /// @@ -26500,16 +25688,14 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > > AssignedStructuralActivity(); // INVERSE IfcRelConnectsStructuralActivity::RelatingElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralActivity >::ptr AssignedStructuralActivity() const; // INVERSE IfcRelConnectsStructuralActivity::RelatingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralItem (IfcAbstractEntityPtr e); + IfcStructuralItem (IfcAbstractEntity* e); IfcStructuralItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcStructuralItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralItem > > list; - typedef IfcTemplatedEntityList< IfcStructuralItem >::it it; + 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. /// @@ -26520,16 +25706,14 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > ConnectedBy(); // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::ptr ConnectedBy() const; // INVERSE IfcRelConnectsStructuralMember::RelatingStructuralMember bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralMember (IfcAbstractEntityPtr e); + IfcStructuralMember (IfcAbstractEntity* e); IfcStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcStructuralMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralMember > > list; - typedef IfcTemplatedEntityList< IfcStructuralMember >::it it; + typedef IfcTemplatedEntityList< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a /// structural action imposed to a structural item or building element. Examples are support reactions, @@ -26556,15 +25740,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralActivity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralActivity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralReaction (IfcAbstractEntityPtr e); + IfcStructuralReaction (IfcAbstractEntity* e); IfcStructuralReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); - typedef IfcStructuralReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralReaction > > list; - typedef IfcTemplatedEntityList< IfcStructuralReaction >::it it; + 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. /// @@ -26589,25 +25771,23 @@ public: class IfcStructuralSurfaceMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. - IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum PredefinedType(); + IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum PredefinedType() const; void setPredefinedType(IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v); /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember - bool hasThickness(); + bool hasThickness() const; /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - IfcPositiveLengthMeasure Thickness(); + IfcPositiveLengthMeasure Thickness() const; void setThickness(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; } return IfcStructuralMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; case 8: return "Thickness"; } return IfcStructuralMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceMember (IfcAbstractEntityPtr e); + IfcStructuralSurfaceMember (IfcAbstractEntity* e); IfcStructuralSurfaceMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness); - typedef IfcStructuralSurfaceMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceMember > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember >::it it; + 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. /// @@ -26632,15 +25812,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralSurfaceMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralSurfaceMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceMemberVarying (IfcAbstractEntityPtr e); + IfcStructuralSurfaceMemberVarying (IfcAbstractEntity* e); IfcStructuralSurfaceMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness); - typedef IfcStructuralSurfaceMemberVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying >::it it; + 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. /// @@ -26667,20 +25845,18 @@ public: class IfcStructuralSurfaceReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. - IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType(); + IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcStructuralReaction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceReaction (IfcAbstractEntityPtr e); + IfcStructuralSurfaceReaction (IfcAbstractEntity* e); IfcStructuralSurfaceReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType); - typedef IfcStructuralSurfaceReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceReaction > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceReaction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceReaction > list; }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: /// @@ -26696,20 +25872,18 @@ public: class IfcSubContractResourceType : public IfcConstructionResourceType { public: /// Defines types of subcontract resources. - IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType(); + IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "PredefinedType"; } return IfcConstructionResourceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSubContractResourceType (IfcAbstractEntityPtr e); - IfcSubContractResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); - typedef IfcSubContractResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubContractResourceType > > list; - typedef IfcTemplatedEntityList< IfcSubContractResourceType >::it it; + IfcSubContractResourceType (IfcAbstractEntity* e); + IfcSubContractResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); + typedef IfcTemplatedEntityList< IfcSubContractResourceType > list; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of /// sweeping an area along a directrix that lies on a reference @@ -26776,37 +25950,35 @@ public: 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(); + IfcCurve* Directrix() const; void setDirectrix(IfcCurve* v); /// Whether the optional attribute StartParam is defined for this IfcSurfaceCurveSweptAreaSolid - bool hasStartParam(); + bool hasStartParam() const; /// The parameter value on the Directrix at which the sweeping operation commences. If no value is provided the start of the sweeping operation is at the start of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue StartParam(); + IfcParameterValue StartParam() const; void setStartParam(IfcParameterValue v); /// Whether the optional attribute EndParam is defined for this IfcSurfaceCurveSweptAreaSolid - bool hasEndParam(); + bool hasEndParam() const; /// The parameter value on the Directrix at which the sweeping operation ends. If no value is provided the end of the sweeping operation is at the end of the Directrix.. /// /// IFC2x4 CHANGE  The attribute has been changed to OPTIONAL with upward compatibility for file-based exchange. - IfcParameterValue EndParam(); + IfcParameterValue EndParam() const; void setEndParam(IfcParameterValue v); /// The surface containing the Directrix. - IfcSurface* ReferenceSurface(); + IfcSurface* ReferenceSurface() const; void setReferenceSurface(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Directrix"; case 3: return "StartParam"; case 4: return "EndParam"; case 5: return "ReferenceSurface"; } return IfcSweptAreaSolid::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntityPtr e); + IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntity* e); IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcSurface* v6_ReferenceSurface); - typedef IfcSurfaceCurveSweptAreaSolid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > > list; - typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid >::it it; + 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): /// @@ -26824,23 +25996,21 @@ public: class IfcSurfaceOfLinearExtrusion : public IfcSweptSurface { public: /// The direction of the extrusion. - IfcDirection* ExtrudedDirection(); + IfcDirection* ExtrudedDirection() const; void setExtrudedDirection(IfcDirection* v); /// The depth of the extrusion, it determines the parameterization. - IfcLengthMeasure Depth(); + IfcLengthMeasure Depth() const; void setDepth(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceOfLinearExtrusion (IfcAbstractEntityPtr e); + IfcSurfaceOfLinearExtrusion (IfcAbstractEntity* e); IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth); - typedef IfcSurfaceOfLinearExtrusion* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > > list; - typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion >::it it; + 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. /// @@ -26862,20 +26032,18 @@ public: class IfcSurfaceOfRevolution : public IfcSweptSurface { public: /// A point on the axis of revolution and the direction of the axis of revolution. - IfcAxis1Placement* AxisPosition(); + IfcAxis1Placement* AxisPosition() const; void setAxisPosition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "AxisPosition"; } return IfcSweptSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceOfRevolution (IfcAbstractEntityPtr e); + IfcSurfaceOfRevolution (IfcAbstractEntity* e); IfcSurfaceOfRevolution (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_AxisPosition); - typedef IfcSurfaceOfRevolution* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceOfRevolution > > list; - typedef IfcTemplatedEntityList< IfcSurfaceOfRevolution >::it it; + 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: /// @@ -26910,21 +26078,19 @@ public: class IfcSystemFurnitureElementType : public IfcFurnishingElementType { public: /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElementType - bool hasPredefinedType(); - IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFurnishingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSystemFurnitureElementType (IfcAbstractEntityPtr e); - IfcSystemFurnitureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType); - typedef IfcSystemFurnitureElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystemFurnitureElementType > > list; - typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType >::it it; + IfcSystemFurnitureElementType (IfcAbstractEntity* e); + IfcSystemFurnitureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType > list; }; /// An IfcTask is an identifiable unit of work to be /// carried out in a construction project. @@ -27174,23 +26340,23 @@ public: class IfcTask : public IfcProcess { public: /// Whether the optional attribute Status is defined for this IfcTask - bool hasStatus(); + 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'. - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute WorkMethod is defined for this IfcTask - bool hasWorkMethod(); + bool hasWorkMethod() const; /// 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 - IfcLabel WorkMethod(); + IfcLabel WorkMethod() const; void setWorkMethod(IfcLabel v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). @@ -27199,41 +26365,39 @@ public: /// a milestone task may be understood to be a task having no /// duration. As such, it represents a singular point in /// time. - bool IsMilestone(); + bool IsMilestone() const; void setIsMilestone(bool v); /// Whether the optional attribute Priority is defined for this IfcTask - bool hasPriority(); + bool hasPriority() const; /// A value that indicates the relative priority of the task (in /// comparison to the priorities of other tasks). - int Priority(); + int Priority() const; void setPriority(int v); /// Whether the optional attribute TaskTime is defined for this IfcTask - bool hasTaskTime(); + bool hasTaskTime() const; /// Time related information for the task. /// /// Added in IFC 2x4 - IfcTaskTime* TaskTime(); + IfcTaskTime* TaskTime() const; void setTaskTime(IfcTaskTime* v); /// Whether the optional attribute PredefinedType is defined for this IfcTask - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of a task from which /// the type required may be set. /// /// Added in IFC 2x4 - IfcTaskTypeEnum::IfcTaskTypeEnum PredefinedType(); + IfcTaskTypeEnum::IfcTaskTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Status"; case 8: return "WorkMethod"; case 9: return "IsMilestone"; case 10: return "Priority"; case 11: return "TaskTime"; case 12: return "PredefinedType"; } return IfcProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTask (IfcAbstractEntityPtr e); + IfcTask (IfcAbstractEntity* e); IfcTask (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcLabel > v8_Status, boost::optional< IfcLabel > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType); - typedef IfcTask* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTask > > list; - typedef IfcTemplatedEntityList< IfcTask >::it it; + typedef IfcTemplatedEntityList< IfcTask > list; }; /// An IfcTaskType defines a /// particular type of task that may be specified for use @@ -27279,51 +26443,47 @@ class IfcTaskType : public IfcTypeProcess { public: /// Identifies the predefined types of a task type from which /// the type required may be set. - IfcTaskTypeEnum::IfcTaskTypeEnum PredefinedType(); + IfcTaskTypeEnum::IfcTaskTypeEnum PredefinedType() const; void setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v); /// Whether the optional attribute WorkMethod is defined for this IfcTaskType - bool hasWorkMethod(); + bool hasWorkMethod() const; /// The method of work used in carrying out a task. - IfcLabel WorkMethod(); + IfcLabel WorkMethod() const; void setWorkMethod(IfcLabel v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcTypeProcess::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "WorkMethod"; } return IfcTypeProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTaskType (IfcAbstractEntityPtr e); - IfcTaskType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_WorkMethod); - typedef IfcTaskType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTaskType > > list; - typedef IfcTemplatedEntityList< IfcTaskType >::it it; + IfcTaskType (IfcAbstractEntity* e); + IfcTaskType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_WorkMethod); + typedef IfcTemplatedEntityList< IfcTaskType > list; }; class IfcTessellatedFaceSet : public IfcTessellatedItem { public: - IfcCartesianPointList3D* Coordinates(); + IfcCartesianPointList3D* Coordinates() const; void setCoordinates(IfcCartesianPointList3D* v); /// Whether the optional attribute Normals is defined for this IfcTessellatedFaceSet - bool hasNormals(); + bool hasNormals() const; /// Whether the optional attribute Closed is defined for this IfcTessellatedFaceSet - bool hasClosed(); - bool Closed(); + bool hasClosed() const; + bool Closed() const; void setClosed(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; case 1: return "Normals"; case 2: return "Closed"; } return IfcTessellatedItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcIndexedColourMap > > HasColours(); // INVERSE IfcIndexedColourMap::MappedTo - SHARED_PTR< IfcTemplatedEntityList< IfcIndexedTextureMap > > HasTextures(); // INVERSE IfcIndexedTextureMap::MappedTo + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcIndexedColourMap >::ptr HasColours() const; // INVERSE IfcIndexedColourMap::MappedTo + IfcTemplatedEntityList< IfcIndexedTextureMap >::ptr HasTextures() const; // INVERSE IfcIndexedTextureMap::MappedTo bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTessellatedFaceSet (IfcAbstractEntityPtr e); + IfcTessellatedFaceSet (IfcAbstractEntity* e); IfcTessellatedFaceSet (IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v3_Closed); - typedef IfcTessellatedFaceSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTessellatedFaceSet > > list; - typedef IfcTemplatedEntityList< IfcTessellatedFaceSet >::it it; + typedef IfcTemplatedEntityList< IfcTessellatedFaceSet > list; }; /// Definition from IAI: The element type /// IfcTransportElementType defines commonly shared @@ -27391,38 +26551,34 @@ public: 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(); + IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransportElementType (IfcAbstractEntityPtr e); - IfcTransportElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); - typedef IfcTransportElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransportElementType > > list; - typedef IfcTemplatedEntityList< IfcTransportElementType >::it it; + IfcTransportElementType (IfcAbstractEntity* e); + IfcTransportElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTransportElementType > list; }; class IfcTriangulatedFaceSet : public IfcTessellatedFaceSet { public: /// Whether the optional attribute NormalIndex is defined for this IfcTriangulatedFaceSet - bool hasNormalIndex(); + 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 const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CoordIndex"; case 4: return "NormalIndex"; } return IfcTessellatedFaceSet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTriangulatedFaceSet (IfcAbstractEntityPtr e); + IfcTriangulatedFaceSet (IfcAbstractEntity* e); IfcTriangulatedFaceSet (IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v3_Closed); - typedef IfcTriangulatedFaceSet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTriangulatedFaceSet > > list; - typedef IfcTemplatedEntityList< IfcTriangulatedFaceSet >::it it; + typedef IfcTemplatedEntityList< IfcTriangulatedFaceSet > list; }; /// The window lining is the outer /// frame which enables the window to be fixed in position. The @@ -27525,85 +26681,83 @@ public: class IfcWindowLiningProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties - bool hasLiningDepth(); + bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - IfcPositiveLengthMeasure LiningDepth(); + IfcPositiveLengthMeasure LiningDepth() const; void setLiningDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties - bool hasLiningThickness(); + bool hasLiningThickness() const; /// Thickness of the window lining (measured parallel to the window elevation plane). - IfcNonNegativeLengthMeasure LiningThickness(); + IfcNonNegativeLengthMeasure LiningThickness() const; void setLiningThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties - bool hasTransomThickness(); + bool hasTransomThickness() const; /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - IfcNonNegativeLengthMeasure TransomThickness(); + IfcNonNegativeLengthMeasure TransomThickness() const; void setTransomThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties - bool hasMullionThickness(); + bool hasMullionThickness() const; /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - IfcNonNegativeLengthMeasure MullionThickness(); + IfcNonNegativeLengthMeasure MullionThickness() const; void setMullionThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties - bool hasFirstTransomOffset(); + bool hasFirstTransomOffset() const; /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstTransomOffset(); + IfcNormalisedRatioMeasure FirstTransomOffset() const; void setFirstTransomOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties - bool hasSecondTransomOffset(); + bool hasSecondTransomOffset() const; /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondTransomOffset(); + IfcNormalisedRatioMeasure SecondTransomOffset() const; void setSecondTransomOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties - bool hasFirstMullionOffset(); + bool hasFirstMullionOffset() const; /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstMullionOffset(); + IfcNormalisedRatioMeasure FirstMullionOffset() const; void setFirstMullionOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties - bool hasSecondMullionOffset(); + bool hasSecondMullionOffset() const; /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondMullionOffset(); + IfcNormalisedRatioMeasure SecondMullionOffset() const; void setSecondMullionOffset(IfcNormalisedRatioMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(IfcShapeAspect* v); /// Whether the optional attribute LiningOffset is defined for this IfcWindowLiningProperties - bool hasLiningOffset(); + bool hasLiningOffset() const; /// Offset of the window lining. The offset is given as distance along the y axis of the local placement (perpendicular to the window plane). /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningOffset(); + IfcLengthMeasure LiningOffset() const; void setLiningOffset(IfcLengthMeasure v); /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcWindowLiningProperties - bool hasLiningToPanelOffsetX(); + bool hasLiningToPanelOffsetX() const; /// Offset between the lining and the window panel measured along the x-axis of the local placement. Should be smaller or equal to the LiningThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetX(); + IfcLengthMeasure LiningToPanelOffsetX() const; void setLiningToPanelOffsetX(IfcLengthMeasure v); /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcWindowLiningProperties - bool hasLiningToPanelOffsetY(); + bool hasLiningToPanelOffsetY() const; /// Offset between the lining and the window panel measured along the y-axis of the local placement. Should be smaller or equal to the IfcWindowPanelProperties.PanelThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetY(); + IfcLengthMeasure LiningToPanelOffsetY() const; void setLiningToPanelOffsetY(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 16; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LiningDepth"; case 5: return "LiningThickness"; case 6: return "TransomThickness"; case 7: return "MullionThickness"; case 8: return "FirstTransomOffset"; case 9: return "SecondTransomOffset"; case 10: return "FirstMullionOffset"; case 11: return "SecondMullionOffset"; case 12: return "ShapeAspectStyle"; case 13: return "LiningOffset"; case 14: return "LiningToPanelOffsetX"; case 15: return "LiningToPanelOffsetY"; } return IfcPreDefinedPropertySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowLiningProperties (IfcAbstractEntityPtr e); + IfcWindowLiningProperties (IfcAbstractEntity* e); IfcWindowLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_TransomThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v14_LiningOffset, boost::optional< IfcLengthMeasure > v15_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetY); - typedef IfcWindowLiningProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowLiningProperties > > list; - typedef IfcTemplatedEntityList< IfcWindowLiningProperties >::it it; + typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, /// consisting essentially of a frame and the infilling. The @@ -27653,40 +26807,38 @@ public: 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(); + IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum OperationType() const; void setOperationType(IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v); /// Position of this panel within the overall window style. - IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition(); + IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties - bool hasFrameDepth(); + bool hasFrameDepth() const; /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - IfcPositiveLengthMeasure FrameDepth(); + IfcPositiveLengthMeasure FrameDepth() const; void setFrameDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties - bool hasFrameThickness(); + bool hasFrameThickness() const; /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - IfcPositiveLengthMeasure FrameThickness(); + IfcPositiveLengthMeasure FrameThickness() const; void setFrameThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "OperationType"; case 5: return "PanelPosition"; case 6: return "FrameDepth"; case 7: return "FrameThickness"; case 8: return "ShapeAspectStyle"; } return IfcPreDefinedPropertySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowPanelProperties (IfcAbstractEntityPtr e); + IfcWindowPanelProperties (IfcAbstractEntity* e); IfcWindowPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcWindowPanelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowPanelProperties > > list; - typedef IfcTemplatedEntityList< IfcWindowPanelProperties >::it it; + 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. /// @@ -27706,21 +26858,19 @@ public: class IfcActor : public IfcObject { public: /// Information about the actor. - IfcActorSelect TheActor(); + IfcActorSelect TheActor() const; void setTheActor(IfcActorSelect v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheActor"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToActor > > IsActingUpon(); // INVERSE IfcRelAssignsToActor::RelatingActor + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToActor >::ptr IsActingUpon() const; // INVERSE IfcRelAssignsToActor::RelatingActor bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActor (IfcAbstractEntityPtr e); + IfcActor (IfcAbstractEntity* e); IfcActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor); - typedef IfcActor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActor > > list; - typedef IfcTemplatedEntityList< IfcActor >::it it; + typedef IfcTemplatedEntityList< IfcActor > list; }; /// An advanced B-rep is a boundary /// representation model in which all faces, edges and vertices are @@ -27760,15 +26910,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAdvancedBrep (IfcAbstractEntityPtr e); + IfcAdvancedBrep (IfcAbstractEntity* e); IfcAdvancedBrep (IfcClosedShell* v1_Outer); - typedef IfcAdvancedBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAdvancedBrep > > list; - typedef IfcTemplatedEntityList< IfcAdvancedBrep >::it it; + typedef IfcTemplatedEntityList< IfcAdvancedBrep > list; }; /// The IfcAdvancedBrepWithVoids is a specialization of an /// advanced B-rep which contains one or more voids in its interior. @@ -27793,20 +26941,18 @@ public: /// IfcAdvancedFace. class IfcAdvancedBrepWithVoids : public IfcAdvancedBrep { public: - SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > Voids(); - void setVoids(SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v); + IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; + void setVoids(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Voids"; } return IfcAdvancedBrep::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAdvancedBrepWithVoids (IfcAbstractEntityPtr e); - IfcAdvancedBrepWithVoids (IfcClosedShell* v1_Outer, SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v2_Voids); - typedef IfcAdvancedBrepWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAdvancedBrepWithVoids > > list; - typedef IfcTemplatedEntityList< IfcAdvancedBrepWithVoids >::it it; + IfcAdvancedBrepWithVoids (IfcAbstractEntity* e); + IfcAdvancedBrepWithVoids (IfcClosedShell* v1_Outer, IfcTemplatedEntityList< IfcClosedShell >::ptr v2_Voids); + typedef IfcTemplatedEntityList< IfcAdvancedBrepWithVoids > list; }; /// Definition from IAI: An annotation is a graphical /// representation within the geometric (and spatial) context @@ -27986,16 +27132,14 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAnnotation (IfcAbstractEntityPtr e); + IfcAnnotation (IfcAbstractEntity* e); IfcAnnotation (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcAnnotation* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAnnotation > > list; - typedef IfcTemplatedEntityList< IfcAnnotation >::it it; + 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. /// @@ -28069,36 +27213,36 @@ public: class IfcBSplineSurface : public IfcBoundedSurface { public: /// Algebraic degree of basis functions in u. - int UDegree(); + int UDegree() const; void setUDegree(int v); /// Algebraic degree of basis functions in v. - int VDegree(); + int VDegree() const; void setVDegree(int v); /// This is a list of lists of control points. + IfcTemplatedEntityListList< IfcCartesianPoint >::ptr ControlPointsList() const; + void setControlPointsList(IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v); /// Indicator of special surface types. - IfcBSplineSurfaceForm::IfcBSplineSurfaceForm SurfaceForm(); + IfcBSplineSurfaceForm::IfcBSplineSurfaceForm SurfaceForm() const; void setSurfaceForm(IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v); /// Indication of whether the surface is closed in the u direction; this is for information only. - bool UClosed(); + bool UClosed() const; void setUClosed(bool v); /// Indication of whether the surface is closed in the v direction; this is for information only. - bool VClosed(); + bool VClosed() const; void setVClosed(bool v); /// Flag to indicate whether, or not, surface is self-intersecting; this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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_UNKNOWN; 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 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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "UDegree"; case 1: return "VDegree"; case 2: return "ControlPointsList"; case 3: return "SurfaceForm"; case 4: return "UClosed"; case 5: return "VClosed"; case 6: return "SelfIntersect"; } return IfcBoundedSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBSplineSurface (IfcAbstractEntityPtr e); - IfcBSplineSurface (int v1_UDegree, int v2_VDegree, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect); - typedef IfcBSplineSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBSplineSurface > > list; - typedef IfcTemplatedEntityList< IfcBSplineSurface >::it it; + IfcBSplineSurface (IfcAbstractEntity* e); + IfcBSplineSurface (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect); + typedef IfcTemplatedEntityList< IfcBSplineSurface > list; }; /// Definition from ISO 10303:42:1994: This is a B-spline surface in which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline surfaces, and may also be used for other knot types. /// @@ -28110,32 +27254,30 @@ public: class IfcBSplineSurfaceWithKnots : public IfcBSplineSurface { public: /// The multiplicities of the knots in the u parameter direction. - std::vector< int > /*[2:?]*/ UMultiplicities(); + std::vector< int > /*[2:?]*/ UMultiplicities() const; void setUMultiplicities(std::vector< int > /*[2:?]*/ v); /// The multiplicities of the knots in the v parameter direction. - std::vector< int > /*[2:?]*/ VMultiplicities(); + std::vector< int > /*[2:?]*/ VMultiplicities() const; void setVMultiplicities(std::vector< int > /*[2:?]*/ v); /// The list of the distinct knots in the u parameter direction. - std::vector< IfcParameterValue > /*[2:?]*/ UKnots(); + std::vector< IfcParameterValue > /*[2:?]*/ UKnots() const; void setUKnots(std::vector< IfcParameterValue > /*[2:?]*/ v); /// The list of the distinct knots in the v parameter direction. - std::vector< IfcParameterValue > /*[2:?]*/ VKnots(); + std::vector< IfcParameterValue > /*[2:?]*/ VKnots() const; void setVKnots(std::vector< IfcParameterValue > /*[2:?]*/ v); /// The description of the knot type. - IfcKnotType::IfcKnotType KnotSpec(); + IfcKnotType::IfcKnotType KnotSpec() const; void setKnotSpec(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "UMultiplicities"; case 8: return "VMultiplicities"; case 9: return "UKnots"; case 10: return "VKnots"; case 11: return "KnotSpec"; } return IfcBSplineSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBSplineSurfaceWithKnots (IfcAbstractEntityPtr e); - IfcBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); - typedef IfcBSplineSurfaceWithKnots* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBSplineSurfaceWithKnots > > list; - typedef IfcTemplatedEntityList< IfcBSplineSurfaceWithKnots >::it it; + IfcBSplineSurfaceWithKnots (IfcAbstractEntity* e); + IfcBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); + typedef IfcTemplatedEntityList< IfcBSplineSurfaceWithKnots > list; }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D /// primitive. It is defined by a position and a positve distance along @@ -28237,26 +27379,24 @@ public: class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength(); + IfcPositiveLengthMeasure XLength() const; void setXLength(IfcPositiveLengthMeasure v); /// The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength(); + IfcPositiveLengthMeasure YLength() const; void setYLength(IfcPositiveLengthMeasure v); /// The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. - IfcPositiveLengthMeasure ZLength(); + IfcPositiveLengthMeasure ZLength() const; void setZLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "ZLength"; } return IfcCsgPrimitive3D::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBlock (IfcAbstractEntityPtr e); + IfcBlock (IfcAbstractEntity* e); IfcBlock (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength); - typedef IfcBlock* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBlock > > list; - typedef IfcTemplatedEntityList< IfcBlock >::it it; + typedef IfcTemplatedEntityList< IfcBlock > list; }; /// A clipping result is defined as a special subtype of the general Boolean result (IfcBooleanResult). It constrains the operands and the operator of the Boolean result. /// @@ -28270,15 +27410,13 @@ public: virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBooleanResult::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBooleanResult::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBooleanClippingResult (IfcAbstractEntityPtr e); + IfcBooleanClippingResult (IfcAbstractEntity* e); IfcBooleanClippingResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); - typedef IfcBooleanClippingResult* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBooleanClippingResult > > list; - typedef IfcTemplatedEntityList< IfcBooleanClippingResult >::it it; + typedef IfcTemplatedEntityList< IfcBooleanClippingResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. /// @@ -28295,15 +27433,13 @@ public: virtual unsigned int getArgumentCount() const { return 0; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundedCurve (IfcAbstractEntityPtr e); + IfcBoundedCurve (IfcAbstractEntity* e); IfcBoundedCurve (); - typedef IfcBoundedCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundedCurve > > list; - typedef IfcTemplatedEntityList< IfcBoundedCurve >::it it; + typedef IfcTemplatedEntityList< IfcBoundedCurve > list; }; /// Definition from ISO 6707-1:1989: Construction work that /// has the provision of shelter for its occupants or contents as one @@ -28483,32 +27619,30 @@ public: class IfcBuilding : public IfcSpatialStructureElement { public: /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding - bool hasElevationOfRefHeight(); + bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - IfcLengthMeasure ElevationOfRefHeight(); + IfcLengthMeasure ElevationOfRefHeight() const; void setElevationOfRefHeight(IfcLengthMeasure v); /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding - bool hasElevationOfTerrain(); + bool hasElevationOfTerrain() const; /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - IfcLengthMeasure ElevationOfTerrain(); + IfcLengthMeasure ElevationOfTerrain() const; void setElevationOfTerrain(IfcLengthMeasure v); /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding - bool hasBuildingAddress(); + bool hasBuildingAddress() const; /// Address given to the building for postal purposes. - IfcPostalAddress* BuildingAddress(); + IfcPostalAddress* BuildingAddress() const; void setBuildingAddress(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "ElevationOfRefHeight"; case 10: return "ElevationOfTerrain"; case 11: return "BuildingAddress"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuilding (IfcAbstractEntityPtr e); + IfcBuilding (IfcAbstractEntity* e); IfcBuilding (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); - typedef IfcBuilding* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuilding > > list; - typedef IfcTemplatedEntityList< IfcBuilding >::it it; + typedef IfcTemplatedEntityList< IfcBuilding > list; }; /// Definition from IAI: The element type /// (IfcBuildingElementType) defines a list of commonly @@ -28544,15 +27678,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementType (IfcAbstractEntityPtr e); - IfcBuildingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcBuildingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementType > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementType >::it it; + IfcBuildingElementType (IfcAbstractEntity* e); + IfcBuildingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcBuildingElementType > list; }; /// The building storey has an /// elevation and typically represents a (nearly) horizontal @@ -28734,22 +27866,20 @@ public: class IfcBuildingStorey : public IfcSpatialStructureElement { public: /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey - bool hasElevation(); + bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - IfcLengthMeasure Elevation(); + IfcLengthMeasure Elevation() const; void setElevation(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Elevation"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingStorey (IfcAbstractEntityPtr e); + IfcBuildingStorey (IfcAbstractEntity* e); IfcBuildingStorey (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation); - typedef IfcBuildingStorey* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingStorey > > list; - typedef IfcTemplatedEntityList< IfcBuildingStorey >::it it; + typedef IfcTemplatedEntityList< IfcBuildingStorey > list; }; /// Definition from IAI: The IfcChimneyType /// defines a list of commonly shared property set definitions @@ -28779,20 +27909,18 @@ public: class IfcChimneyType : public IfcBuildingElementType { public: /// Identifies the predefined types of a chimney element from which the type required may be set. - IfcChimneyTypeEnum::IfcChimneyTypeEnum PredefinedType(); + IfcChimneyTypeEnum::IfcChimneyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcChimneyType (IfcAbstractEntityPtr e); - IfcChimneyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType); - typedef IfcChimneyType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcChimneyType > > list; - typedef IfcTemplatedEntityList< IfcChimneyType >::it it; + IfcChimneyType (IfcAbstractEntity* e); + IfcChimneyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcChimneyType > list; }; /// IfcCircleHollowProfileDef /// defines a section profile that provides the defining parameters of a @@ -28815,20 +27943,18 @@ public: class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. - IfcPositiveLengthMeasure WallThickness(); + IfcPositiveLengthMeasure WallThickness() const; void setWallThickness(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCircleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "WallThickness"; } return IfcCircleProfileDef::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCircleHollowProfileDef (IfcAbstractEntityPtr e); + IfcCircleHollowProfileDef (IfcAbstractEntity* e); IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness); - typedef IfcCircleHollowProfileDef* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircleHollowProfileDef > > list; - typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef >::it it; + typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; }; class IfcCivilElementType : public IfcElementType { @@ -28836,15 +27962,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCivilElementType (IfcAbstractEntityPtr e); - IfcCivilElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcCivilElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCivilElementType > > list; - typedef IfcTemplatedEntityList< IfcCivilElementType >::it it; + IfcCivilElementType (IfcAbstractEntity* e); + IfcCivilElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcCivilElementType > list; }; /// Definition from IAI: The element type /// IfcColumnType defines commonly shared information for @@ -28947,20 +28071,18 @@ public: class IfcColumnType : public IfcBuildingElementType { public: /// Identifies the predefined types of a column element from which the type required may be set. - IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType(); + IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColumnType (IfcAbstractEntityPtr e); - IfcColumnType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); - typedef IfcColumnType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumnType > > list; - typedef IfcTemplatedEntityList< IfcColumnType >::it it; + IfcColumnType (IfcAbstractEntity* e); + IfcColumnType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcColumnType > list; }; /// The IfcComplexPropertyTemplate defines the template for /// all complex properties, either the IfcComplexProperty's, @@ -28973,30 +28095,28 @@ public: class IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute UsageName is defined for this IfcComplexPropertyTemplate - bool hasUsageName(); - IfcLabel UsageName(); + bool hasUsageName() const; + IfcLabel UsageName() const; void setUsageName(IfcLabel v); /// Whether the optional attribute TemplateType is defined for this IfcComplexPropertyTemplate - bool hasTemplateType(); - IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum TemplateType(); + bool hasTemplateType() const; + IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum TemplateType() const; void setTemplateType(IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum v); /// Whether the optional attribute HasPropertyTemplates is defined for this IfcComplexPropertyTemplate - bool hasHasPropertyTemplates(); + bool hasHasPropertyTemplates() const; /// Reference to a set of property templates. It should only be provided, if the PropertyType is set to COMPLEX. - SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > HasPropertyTemplates(); - void setHasPropertyTemplates(SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > v); + IfcTemplatedEntityList< IfcPropertyTemplate >::ptr HasPropertyTemplates() const; + void setHasPropertyTemplates(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "UsageName"; case 5: return "TemplateType"; case 6: return "HasPropertyTemplates"; } return IfcPropertyTemplate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcComplexPropertyTemplate (IfcAbstractEntityPtr e); - IfcComplexPropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertyTemplate > > > v7_HasPropertyTemplates); - typedef IfcComplexPropertyTemplate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcComplexPropertyTemplate > > list; - typedef IfcTemplatedEntityList< IfcComplexPropertyTemplate >::it it; + IfcComplexPropertyTemplate (IfcAbstractEntity* e); + IfcComplexPropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); + typedef IfcTemplatedEntityList< IfcComplexPropertyTemplate > list; }; /// Definition from ISO/CD 10303-42:1992: A composite /// curve is a collection of curves joined end-to-end. The @@ -29067,23 +28187,21 @@ public: class IfcCompositeCurve : public IfcBoundedCurve { public: /// The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. - SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > Segments(); - void setSegments(SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v); + IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr Segments() const; + void setSegments(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v); /// Indication of whether the curve intersects itself or not; this is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Segments"; case 1: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeCurve (IfcAbstractEntityPtr e); - IfcCompositeCurve (SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect); - typedef IfcCompositeCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurve > > list; - typedef IfcTemplatedEntityList< IfcCompositeCurve >::it it; + IfcCompositeCurve (IfcAbstractEntity* e); + IfcCompositeCurve (IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect); + typedef IfcTemplatedEntityList< IfcCompositeCurve > list; }; /// Definition from ISO/CD 10303-42:1992 A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface. /// @@ -29101,15 +28219,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCompositeCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCompositeCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompositeCurveOnSurface (IfcAbstractEntityPtr e); - IfcCompositeCurveOnSurface (SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect); - typedef IfcCompositeCurveOnSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveOnSurface > > list; - typedef IfcTemplatedEntityList< IfcCompositeCurveOnSurface >::it it; + IfcCompositeCurveOnSurface (IfcAbstractEntity* e); + IfcCompositeCurveOnSurface (IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect); + typedef IfcTemplatedEntityList< IfcCompositeCurveOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A conic (IfcConic) is a planar curve which could be produced by intersecting a plane with a cone. A conic is defined in terms of its intrinsic geometric properties rather than being described in terms of other geometry. A conic class always has a placement coordinate system defined by a two or three dimensional placement. The parametric representation is defined in terms of this placement coordinate system. /// @@ -29119,20 +28235,18 @@ public: class IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." - IfcAxis2Placement Position(); + IfcAxis2Placement Position() const; void setPosition(IfcAxis2Placement v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConic (IfcAbstractEntityPtr e); + IfcConic (IfcAbstractEntity* e); IfcConic (IfcAxis2Placement v1_Position); - typedef IfcConic* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConic > > list; - typedef IfcTemplatedEntityList< IfcConic >::it it; + typedef IfcTemplatedEntityList< IfcConic > list; }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: /// @@ -29150,20 +28264,18 @@ public: class IfcConstructionEquipmentResourceType : public IfcConstructionResourceType { public: /// Defines types of construction equipment resources. - IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType(); + IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "PredefinedType"; } return IfcConstructionResourceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionEquipmentResourceType (IfcAbstractEntityPtr e); - IfcConstructionEquipmentResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType); - typedef IfcConstructionEquipmentResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionEquipmentResourceType > > list; - typedef IfcTemplatedEntityList< IfcConstructionEquipmentResourceType >::it it; + IfcConstructionEquipmentResourceType (IfcAbstractEntity* e); + IfcConstructionEquipmentResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType); + 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: /// @@ -29181,20 +28293,18 @@ public: class IfcConstructionMaterialResourceType : public IfcConstructionResourceType { public: /// Defines types of construction material resources. - IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType(); + IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "PredefinedType"; } return IfcConstructionResourceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionMaterialResourceType (IfcAbstractEntityPtr e); - IfcConstructionMaterialResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType); - typedef IfcConstructionMaterialResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionMaterialResourceType > > list; - typedef IfcTemplatedEntityList< IfcConstructionMaterialResourceType >::it it; + IfcConstructionMaterialResourceType (IfcAbstractEntity* e); + IfcConstructionMaterialResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType); + 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: /// @@ -29212,20 +28322,18 @@ public: class IfcConstructionProductResourceType : public IfcConstructionResourceType { public: /// Defines types of construction product resources. - IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType(); + IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 11: return "PredefinedType"; } return IfcConstructionResourceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionProductResourceType (IfcAbstractEntityPtr e); - IfcConstructionProductResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType); - typedef IfcConstructionProductResourceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionProductResourceType > > list; - typedef IfcTemplatedEntityList< IfcConstructionProductResourceType >::it it; + IfcConstructionProductResourceType (IfcAbstractEntity* e); + IfcConstructionProductResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType); + typedef IfcTemplatedEntityList< IfcConstructionProductResourceType > list; }; /// IfcConstructionResource is an abstract generalization of the different resources used in /// construction projects, mainly labor, material, equipment and product resources, plus subcontracted resources and aggregations such as a crew resource. @@ -29302,29 +28410,27 @@ public: class IfcConstructionResource : public IfcResource { public: /// Whether the optional attribute Usage is defined for this IfcConstructionResource - bool hasUsage(); - IfcResourceTime* Usage(); + bool hasUsage() const; + IfcResourceTime* Usage() const; void setUsage(IfcResourceTime* v); /// Whether the optional attribute BaseCosts is defined for this IfcConstructionResource - bool hasBaseCosts(); - SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > BaseCosts(); - void setBaseCosts(SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > v); + 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(); - IfcPhysicalQuantity* BaseQuantity(); + bool hasBaseQuantity() const; + IfcPhysicalQuantity* BaseQuantity() const; void setBaseQuantity(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Usage"; case 8: return "BaseCosts"; case 9: return "BaseQuantity"; } return IfcResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionResource (IfcAbstractEntityPtr e); - IfcConstructionResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity); - typedef IfcConstructionResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionResource >::it it; + IfcConstructionResource (IfcAbstractEntity* e); + IfcConstructionResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity); + 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. /// @@ -29339,26 +28445,24 @@ public: class IfcControl : public IfcObject { public: /// Whether the optional attribute Identification is defined for this IfcControl - bool hasIdentification(); + 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. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; } return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToControl > > Controls(); // INVERSE IfcRelAssignsToControl::RelatingControl + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToControl >::ptr Controls() const; // INVERSE IfcRelAssignsToControl::RelatingControl bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcControl (IfcAbstractEntityPtr e); + IfcControl (IfcAbstractEntity* e); IfcControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification); - typedef IfcControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcControl > > list; - typedef IfcTemplatedEntityList< IfcControl >::it it; + 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. /// @@ -29399,14 +28503,14 @@ public: class IfcCostItem : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcCostItem - bool hasPredefinedType(); + 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(); + IfcCostItemTypeEnum::IfcCostItemTypeEnum PredefinedType() const; void setPredefinedType(IfcCostItemTypeEnum::IfcCostItemTypeEnum v); /// Whether the optional attribute CostValues is defined for this IfcCostItem - bool hasCostValues(); + bool hasCostValues() const; /// 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. @@ -29414,27 +28518,25 @@ 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. - SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > CostValues(); - void setCostValues(SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > v); + IfcTemplatedEntityList< IfcCostValue >::ptr CostValues() const; + void setCostValues(IfcTemplatedEntityList< IfcCostValue >::ptr v); /// Whether the optional attribute CostQuantities is defined for this IfcCostItem - bool hasCostQuantities(); + bool hasCostQuantities() const; /// 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. - SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > CostQuantities(); - void setCostQuantities(SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > v); + IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr CostQuantities() const; + void setCostQuantities(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "CostValues"; case 8: return "CostQuantities"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCostItem (IfcAbstractEntityPtr e); - IfcCostItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcCostValue > > > v8_CostValues, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPhysicalQuantity > > > v9_CostQuantities); - typedef IfcCostItem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostItem > > list; - typedef IfcTemplatedEntityList< IfcCostItem >::it it; + IfcCostItem (IfcAbstractEntity* e); + IfcCostItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities); + 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. /// @@ -29462,14 +28564,14 @@ public: class IfcCostSchedule : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcCostSchedule - bool hasPredefinedType(); + 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(); + IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum PredefinedType() const; void setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v); /// Whether the optional attribute Status is defined for this IfcCostSchedule - bool hasStatus(); + bool hasStatus() const; /// The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: /// /// PLANNED @@ -29477,34 +28579,32 @@ public: /// AGREED /// ISSUED /// STARTED - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule - bool hasSubmittedOn(); + bool hasSubmittedOn() const; /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTime SubmittedOn(); + IfcDateTime SubmittedOn() const; void setSubmittedOn(IfcDateTime v); /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule - bool hasUpdateDate(); + bool hasUpdateDate() const; /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTime UpdateDate(); + IfcDateTime UpdateDate() const; void setUpdateDate(IfcDateTime v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "SubmittedOn"; case 9: return "UpdateDate"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCostSchedule (IfcAbstractEntityPtr e); + IfcCostSchedule (IfcAbstractEntity* e); IfcCostSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcDateTime > v9_SubmittedOn, boost::optional< IfcDateTime > v10_UpdateDate); - typedef IfcCostSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCostSchedule > > list; - typedef IfcTemplatedEntityList< IfcCostSchedule >::it it; + typedef IfcTemplatedEntityList< IfcCostSchedule > list; }; /// Definition from IAI: The element type /// IfcCoveringType defines commonly shared information for @@ -29588,20 +28688,18 @@ public: 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(); + IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoveringType (IfcAbstractEntityPtr e); - IfcCoveringType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); - typedef IfcCoveringType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoveringType > > list; - typedef IfcTemplatedEntityList< IfcCoveringType >::it it; + IfcCoveringType (IfcAbstractEntity* e); + IfcCoveringType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCoveringType > list; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. /// @@ -29616,23 +28714,21 @@ public: class IfcCrewResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcCrewResource - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Defines types of crew resources. /// IFC2x4 New attribute - IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType(); + IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "PredefinedType"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCrewResource (IfcAbstractEntityPtr e); - IfcCrewResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType); - typedef IfcCrewResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCrewResource > > list; - typedef IfcTemplatedEntityList< IfcCrewResource >::it it; + IfcCrewResource (IfcAbstractEntity* e); + IfcCrewResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType); + typedef IfcTemplatedEntityList< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) /// defines a list of commonly shared property set definitions of a curtain @@ -29658,20 +28754,18 @@ public: 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(); + IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurtainWallType (IfcAbstractEntityPtr e); - IfcCurtainWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); - typedef IfcCurtainWallType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurtainWallType > > list; - typedef IfcTemplatedEntityList< IfcCurtainWallType >::it it; + IfcCurtainWallType (IfcAbstractEntity* e); + IfcCurtainWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); + 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: /// @@ -29730,20 +28824,18 @@ public: class IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcElementarySurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcElementarySurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCylindricalSurface (IfcAbstractEntityPtr e); + IfcCylindricalSurface (IfcAbstractEntity* e); IfcCylindricalSurface (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius); - typedef IfcCylindricalSurface* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCylindricalSurface > > list; - typedef IfcTemplatedEntityList< IfcCylindricalSurface >::it it; + typedef IfcTemplatedEntityList< IfcCylindricalSurface > list; }; /// Definition from IAI: The /// IfcDistributionElementType defines a list of commonly @@ -29778,15 +28870,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionElementType (IfcAbstractEntityPtr e); - IfcDistributionElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDistributionElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionElementType >::it it; + IfcDistributionElementType (IfcAbstractEntity* e); + IfcDistributionElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -29858,15 +28948,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionFlowElementType (IfcAbstractEntityPtr e); - IfcDistributionFlowElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDistributionFlowElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionFlowElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionFlowElementType >::it it; + IfcDistributionFlowElementType (IfcAbstractEntity* e); + IfcDistributionFlowElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; }; /// The door lining is the frame which /// enables the door leaf to be fixed in position. The door lining is @@ -29966,88 +29054,86 @@ public: class IfcDoorLiningProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties - bool hasLiningDepth(); + bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure LiningDepth(); + IfcPositiveLengthMeasure LiningDepth() const; void setLiningDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties - bool hasLiningThickness(); + bool hasLiningThickness() const; /// Thickness (width in plane parallel to door leaf) of the door lining. - IfcNonNegativeLengthMeasure LiningThickness(); + IfcNonNegativeLengthMeasure LiningThickness() const; void setLiningThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties - bool hasThresholdDepth(); + bool hasThresholdDepth() const; /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure ThresholdDepth(); + IfcPositiveLengthMeasure ThresholdDepth() const; void setThresholdDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties - bool hasThresholdThickness(); + bool hasThresholdThickness() const; /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - IfcNonNegativeLengthMeasure ThresholdThickness(); + IfcNonNegativeLengthMeasure ThresholdThickness() const; void setThresholdThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties - bool hasTransomThickness(); + bool hasTransomThickness() const; /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - IfcNonNegativeLengthMeasure TransomThickness(); + IfcNonNegativeLengthMeasure TransomThickness() const; void setTransomThickness(IfcNonNegativeLengthMeasure v); /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties - bool hasTransomOffset(); + bool hasTransomOffset() const; /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - IfcLengthMeasure TransomOffset(); + IfcLengthMeasure TransomOffset() const; void setTransomOffset(IfcLengthMeasure v); /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties - bool hasLiningOffset(); + bool hasLiningOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - IfcLengthMeasure LiningOffset(); + IfcLengthMeasure LiningOffset() const; void setLiningOffset(IfcLengthMeasure v); /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties - bool hasThresholdOffset(); + bool hasThresholdOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - IfcLengthMeasure ThresholdOffset(); + IfcLengthMeasure ThresholdOffset() const; void setThresholdOffset(IfcLengthMeasure v); /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties - bool hasCasingThickness(); + bool hasCasingThickness() const; /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingThickness(); + IfcPositiveLengthMeasure CasingThickness() const; void setCasingThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties - bool hasCasingDepth(); + bool hasCasingDepth() const; /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingDepth(); + IfcPositiveLengthMeasure CasingDepth() const; void setCasingDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. /// /// IFC2x4 CHANGE The attribute is deprecated and shall no longer be used, i.e. the value shall be NIL ($). - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(IfcShapeAspect* v); /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcDoorLiningProperties - bool hasLiningToPanelOffsetX(); + bool hasLiningToPanelOffsetX() const; /// Offset between the lining and the window panel measured along the x-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetX(); + IfcLengthMeasure LiningToPanelOffsetX() const; void setLiningToPanelOffsetX(IfcLengthMeasure v); /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcDoorLiningProperties - bool hasLiningToPanelOffsetY(); + bool hasLiningToPanelOffsetY() const; /// Offset between the lining and the door panel measured along the y-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetY(); + IfcLengthMeasure LiningToPanelOffsetY() const; void setLiningToPanelOffsetY(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LiningDepth"; case 5: return "LiningThickness"; case 6: return "ThresholdDepth"; case 7: return "ThresholdThickness"; case 8: return "TransomThickness"; case 9: return "TransomOffset"; case 10: return "LiningOffset"; case 11: return "ThresholdOffset"; case 12: return "CasingThickness"; case 13: return "CasingDepth"; case 14: return "ShapeAspectStyle"; case 15: return "LiningToPanelOffsetX"; case 16: return "LiningToPanelOffsetY"; } return IfcPreDefinedPropertySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorLiningProperties (IfcAbstractEntityPtr e); + IfcDoorLiningProperties (IfcAbstractEntity* e); IfcDoorLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcNonNegativeLengthMeasure > v8_ThresholdThickness, boost::optional< IfcNonNegativeLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v17_LiningToPanelOffsetY); - typedef IfcDoorLiningProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorLiningProperties > > list; - typedef IfcTemplatedEntityList< IfcDoorLiningProperties >::it it; + typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or /// goods to pass. The parameters of the door panel define the @@ -30097,40 +29183,38 @@ public: class IfcDoorPanelProperties : public IfcPreDefinedPropertySet { public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties - bool hasPanelDepth(); + bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - IfcPositiveLengthMeasure PanelDepth(); + IfcPositiveLengthMeasure PanelDepth() const; void setPanelDepth(IfcPositiveLengthMeasure 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(); + IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum PanelOperation() const; void setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties - bool hasPanelWidth(); + bool hasPanelWidth() const; /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - IfcNormalisedRatioMeasure PanelWidth(); + IfcNormalisedRatioMeasure PanelWidth() const; void setPanelWidth(IfcNormalisedRatioMeasure 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(); + IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorPanelProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// 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(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "PanelDepth"; case 5: return "PanelOperation"; case 6: return "PanelWidth"; case 7: return "PanelPosition"; case 8: return "ShapeAspectStyle"; } return IfcPreDefinedPropertySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorPanelProperties (IfcAbstractEntityPtr e); + IfcDoorPanelProperties (IfcAbstractEntity* e); IfcDoorPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcDoorPanelProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorPanelProperties > > list; - typedef IfcTemplatedEntityList< IfcDoorPanelProperties >::it it; + typedef IfcTemplatedEntityList< IfcDoorPanelProperties > list; }; /// Definition from IAI: The element type /// IfcDoorType defines commonly shared information @@ -30263,31 +29347,29 @@ public: class IfcDoorType : public IfcBuildingElementType { public: /// Identifies the predefined types of a door element from which the type required may be set. - IfcDoorTypeEnum::IfcDoorTypeEnum PredefinedType(); + IfcDoorTypeEnum::IfcDoorTypeEnum PredefinedType() const; void setPredefinedType(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(); + IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum OperationType() const; void setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v); /// Whether the optional attribute ParameterTakesPrecedence is defined for this IfcDoorType - bool hasParameterTakesPrecedence(); - bool ParameterTakesPrecedence(); + bool hasParameterTakesPrecedence() const; + bool ParameterTakesPrecedence() const; void setParameterTakesPrecedence(bool v); /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoorType - bool hasUserDefinedOperationType(); - IfcLabel UserDefinedOperationType(); + bool hasUserDefinedOperationType() const; + IfcLabel UserDefinedOperationType() const; void setUserDefinedOperationType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "OperationType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedOperationType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorType (IfcAbstractEntityPtr e); - IfcDoorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedOperationType); - typedef IfcDoorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorType > > list; - typedef IfcTemplatedEntityList< IfcDoorType >::it it; + IfcDoorType (IfcAbstractEntity* e); + IfcDoorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedOperationType); + 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: /// @@ -30366,15 +29448,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedColour::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedColour::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingPreDefinedColour (IfcAbstractEntityPtr e); + IfcDraughtingPreDefinedColour (IfcAbstractEntity* e); IfcDraughtingPreDefinedColour (IfcLabel v1_Name); - typedef IfcDraughtingPreDefinedColour* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > > list; - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour >::it it; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > list; }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. /// @@ -30394,15 +29474,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPreDefinedCurveFont::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPreDefinedCurveFont::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDraughtingPreDefinedCurveFont (IfcAbstractEntityPtr e); + IfcDraughtingPreDefinedCurveFont (IfcAbstractEntity* e); IfcDraughtingPreDefinedCurveFont (IfcLabel v1_Name); - typedef IfcDraughtingPreDefinedCurveFont* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > > list; - typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont >::it it; + typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > list; }; /// Definition from IAI: Generalization of all components /// that make up an AEC product. Those elements can be logically @@ -30460,33 +29538,31 @@ public: class IfcElement : public IfcProduct { public: /// Whether the optional attribute Tag is defined for this IfcElement - bool hasTag(); + bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcIdentifier Tag(); + IfcIdentifier Tag() const; void setTag(IfcIdentifier v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Tag"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > FillsVoids(); // INVERSE IfcRelFillsElement::RelatedBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > ConnectedTo(); // INVERSE IfcRelConnectsElements::RelatingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelInterferesElements > > IsInterferedByElements(); // INVERSE IfcRelInterferesElements::RelatedElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelInterferesElements > > InterferesElements(); // INVERSE IfcRelInterferesElements::RelatingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > HasProjections(); // INVERSE IfcRelProjectsElement::RelatingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > > ReferencedInStructures(); // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements - SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > HasOpenings(); // INVERSE IfcRelVoidsElement::RelatingBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > > IsConnectionRealization(); // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > ProvidesBoundaries(); // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsElements > > ConnectedFrom(); // INVERSE IfcRelConnectsElements::RelatedElement - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFillsElement >::ptr FillsVoids() const; // INVERSE IfcRelFillsElement::RelatedBuildingElement + IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsElements::RelatingElement + IfcTemplatedEntityList< IfcRelInterferesElements >::ptr IsInterferedByElements() const; // INVERSE IfcRelInterferesElements::RelatedElement + IfcTemplatedEntityList< IfcRelInterferesElements >::ptr InterferesElements() const; // INVERSE IfcRelInterferesElements::RelatingElement + IfcTemplatedEntityList< IfcRelProjectsElement >::ptr HasProjections() const; // INVERSE IfcRelProjectsElement::RelatingElement + IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure >::ptr ReferencedInStructures() const; // INVERSE IfcRelReferencedInSpatialStructure::RelatedElements + IfcTemplatedEntityList< IfcRelVoidsElement >::ptr HasOpenings() const; // INVERSE IfcRelVoidsElement::RelatingBuildingElement + IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements >::ptr IsConnectionRealization() const; // INVERSE IfcRelConnectsWithRealizingElements::RealizingElements + IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr ProvidesBoundaries() const; // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement + IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsElements::RelatedElement + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElement (IfcAbstractEntityPtr e); + IfcElement (IfcAbstractEntity* e); IfcElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElement > > list; - typedef IfcTemplatedEntityList< IfcElement >::it it; + typedef IfcTemplatedEntityList< IfcElement > list; }; /// The IfcElementAssembly /// represents complex element assemblies aggregated from several @@ -30585,29 +29661,27 @@ public: class IfcElementAssembly : public IfcElement { public: /// Whether the optional attribute AssemblyPlace is defined for this IfcElementAssembly - bool hasAssemblyPlace(); + bool hasAssemblyPlace() const; /// A designation of where the assembly is intended to take place defined by an Enum. - IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace(); + IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum AssemblyPlace() const; void setAssemblyPlace(IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v); /// Whether the optional attribute PredefinedType is defined for this IfcElementAssembly - bool hasPredefinedType(); + bool hasPredefinedType() const; /// 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(); + IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "AssemblyPlace"; case 9: return "PredefinedType"; } return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementAssembly (IfcAbstractEntityPtr e); + IfcElementAssembly (IfcAbstractEntity* e); IfcElementAssembly (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType); - typedef IfcElementAssembly* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementAssembly > > list; - typedef IfcTemplatedEntityList< IfcElementAssembly >::it it; + typedef IfcTemplatedEntityList< IfcElementAssembly > list; }; /// Definition from IAI: The IfcElementAssemblyType /// defines a list of commonly shared property set definitions of an @@ -30634,20 +29708,18 @@ public: 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(); + IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementAssemblyType (IfcAbstractEntityPtr e); - IfcElementAssemblyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); - typedef IfcElementAssemblyType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementAssemblyType > > list; - typedef IfcTemplatedEntityList< IfcElementAssemblyType >::it it; + IfcElementAssemblyType (IfcAbstractEntity* e); + IfcElementAssemblyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcElementAssemblyType > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between /// elements, which usually are not of interest from the overall building structure viewpoint. @@ -30731,15 +29803,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementComponent (IfcAbstractEntityPtr e); + IfcElementComponent (IfcAbstractEntity* e); IfcElementComponent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcElementComponent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementComponent > > list; - typedef IfcTemplatedEntityList< IfcElementComponent >::it it; + typedef IfcTemplatedEntityList< IfcElementComponent > list; }; /// Definition from IAI: /// The element type (IfcElementComponentType) represents the supertype for element @@ -30755,15 +29825,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElementComponentType (IfcAbstractEntityPtr e); - IfcElementComponentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcElementComponentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElementComponentType > > list; - typedef IfcTemplatedEntityList< IfcElementComponentType >::it it; + IfcElementComponentType (IfcAbstractEntity* e); + IfcElementComponentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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: /// @@ -30795,23 +29863,21 @@ public: class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. - IfcPositiveLengthMeasure SemiAxis1(); + IfcPositiveLengthMeasure SemiAxis1() const; void setSemiAxis1(IfcPositiveLengthMeasure v); /// The second radius of the ellipse which shall be positive. - IfcPositiveLengthMeasure SemiAxis2(); + IfcPositiveLengthMeasure SemiAxis2() const; void setSemiAxis2(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SemiAxis1"; case 2: return "SemiAxis2"; } return IfcConic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEllipse (IfcAbstractEntityPtr e); + IfcEllipse (IfcAbstractEntity* e); IfcEllipse (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2); - typedef IfcEllipse* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEllipse > > list; - typedef IfcTemplatedEntityList< IfcEllipse >::it it; + typedef IfcTemplatedEntityList< IfcEllipse > list; }; /// The element type IfcEnergyConversionType defines a list of commonly shared property /// set definitions of an energy conversion device and an optional set of product representations. @@ -30843,15 +29909,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEnergyConversionDeviceType (IfcAbstractEntityPtr e); - IfcEnergyConversionDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcEnergyConversionDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyConversionDeviceType > > list; - typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType >::it it; + IfcEnergyConversionDeviceType (IfcAbstractEntity* e); + IfcEnergyConversionDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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: /// @@ -30881,20 +29945,18 @@ public: /// The distribution ports relating to the IfcEngineType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcEngine for standard port definitions. class IfcEngineType : public IfcEnergyConversionDeviceType { public: - IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType(); + IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEngineType (IfcAbstractEntityPtr e); - IfcEngineType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType); - typedef IfcEngineType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEngineType > > list; - typedef IfcTemplatedEntityList< IfcEngineType >::it it; + IfcEngineType (IfcAbstractEntity* e); + IfcEngineType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType); + 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: /// @@ -30925,20 +29987,18 @@ public: class IfcEvaporativeCoolerType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporative cooler. - IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType(); + IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvaporativeCoolerType (IfcAbstractEntityPtr e); - IfcEvaporativeCoolerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); - typedef IfcEvaporativeCoolerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporativeCoolerType > > list; - typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType >::it it; + IfcEvaporativeCoolerType (IfcAbstractEntity* e); + IfcEvaporativeCoolerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); + 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: /// @@ -30969,20 +30029,18 @@ public: class IfcEvaporatorType : public IfcEnergyConversionDeviceType { public: /// Defines the type of evaporator. - IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType(); + IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvaporatorType (IfcAbstractEntityPtr e); - IfcEvaporatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); - typedef IfcEvaporatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporatorType > > list; - typedef IfcTemplatedEntityList< IfcEvaporatorType >::it it; + IfcEvaporatorType (IfcAbstractEntity* e); + IfcEvaporatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcEvaporatorType > list; }; /// An IfcEvent is something /// that happens that triggers an action or response. @@ -31064,41 +30122,39 @@ public: class IfcEvent : public IfcProcess { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvent - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of an event from which /// the type required may be set. - IfcEventTypeEnum::IfcEventTypeEnum PredefinedType(); + IfcEventTypeEnum::IfcEventTypeEnum PredefinedType() const; void setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v); /// Whether the optional attribute EventTriggerType is defined for this IfcEvent - bool hasEventTriggerType(); + bool hasEventTriggerType() const; /// Identifies the predefined types of event trigger from which /// the type required may be set. - IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum EventTriggerType(); + IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum EventTriggerType() const; void setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v); /// Whether the optional attribute UserDefinedEventTriggerType is defined for this IfcEvent - bool hasUserDefinedEventTriggerType(); + bool hasUserDefinedEventTriggerType() const; /// A user defined event trigger type, the value of which is /// asserted when the value of an event trigger type is declared /// as USERDEFINED. - IfcLabel UserDefinedEventTriggerType(); + IfcLabel UserDefinedEventTriggerType() const; void setUserDefinedEventTriggerType(IfcLabel v); /// Whether the optional attribute EventOccurenceTime is defined for this IfcEvent - bool hasEventOccurenceTime(); + bool hasEventOccurenceTime() const; /// The date and/or time at which an event occurs. - IfcEventTime* EventOccurenceTime(); + IfcEventTime* EventOccurenceTime() const; void setEventOccurenceTime(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; case 8: return "EventTriggerType"; case 9: return "UserDefinedEventTriggerType"; case 10: return "EventOccurenceTime"; } return IfcProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvent (IfcAbstractEntityPtr e); + IfcEvent (IfcAbstractEntity* e); IfcEvent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< IfcLabel > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime); - typedef IfcEvent* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvent > > list; - typedef IfcTemplatedEntityList< IfcEvent >::it it; + typedef IfcTemplatedEntityList< IfcEvent > list; }; /// Definition from IAI: The external spatial structure /// element is an abstract entity provided for different kind of @@ -31110,15 +30166,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSpatialElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSpatialElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternalSpatialStructureElement (IfcAbstractEntityPtr e); + IfcExternalSpatialStructureElement (IfcAbstractEntity* e); IfcExternalSpatialStructureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName); - typedef IfcExternalSpatialStructureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalSpatialStructureElement > > list; - typedef IfcTemplatedEntityList< IfcExternalSpatialStructureElement >::it it; + typedef IfcTemplatedEntityList< IfcExternalSpatialStructureElement > list; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep /// is a simple form of boundary representation model in which all @@ -31149,15 +30203,13 @@ public: virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcManifoldSolidBrep::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFacetedBrep (IfcAbstractEntityPtr e); + IfcFacetedBrep (IfcAbstractEntity* e); IfcFacetedBrep (IfcClosedShell* v1_Outer); - typedef IfcFacetedBrep* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFacetedBrep > > list; - typedef IfcTemplatedEntityList< IfcFacetedBrep >::it it; + typedef IfcTemplatedEntityList< IfcFacetedBrep > list; }; /// The IfcFacetedBrepWithVoids /// is a specialization of a faceted B-rep which contains one or more @@ -31186,20 +30238,18 @@ public: class IfcFacetedBrepWithVoids : public IfcFacetedBrep { public: /// Set of closed shells defining voids within the solid. - SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > Voids(); - void setVoids(SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v); + IfcTemplatedEntityList< IfcClosedShell >::ptr Voids() const; + void setVoids(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Voids"; } return IfcFacetedBrep::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFacetedBrepWithVoids (IfcAbstractEntityPtr e); - IfcFacetedBrepWithVoids (IfcClosedShell* v1_Outer, SHARED_PTR< IfcTemplatedEntityList< IfcClosedShell > > v2_Voids); - typedef IfcFacetedBrepWithVoids* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFacetedBrepWithVoids > > list; - typedef IfcTemplatedEntityList< IfcFacetedBrepWithVoids >::it it; + IfcFacetedBrepWithVoids (IfcAbstractEntity* e); + IfcFacetedBrepWithVoids (IfcClosedShell* v1_Outer, IfcTemplatedEntityList< IfcClosedShell >::ptr v2_Voids); + typedef IfcTemplatedEntityList< IfcFacetedBrepWithVoids > list; }; /// Definition from IAI: /// Representations of fixing parts which are used as fasteners to connect or join elements with @@ -31212,22 +30262,20 @@ public: class IfcFastener : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcFastener - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Subtype of fastener - IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType(); + IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFastener (IfcAbstractEntityPtr e); + IfcFastener (IfcAbstractEntity* e); IfcFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType); - typedef IfcFastener* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFastener > > list; - typedef IfcTemplatedEntityList< IfcFastener >::it it; + typedef IfcTemplatedEntityList< IfcFastener > list; }; /// Definition from IAI: /// The element type (IfcFastenerType) defines a list of commonly shared @@ -31255,20 +30303,18 @@ public: class IfcFastenerType : public IfcElementComponentType { public: /// Subtype of fastener - IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType(); + IfcFastenerTypeEnum::IfcFastenerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFastenerType (IfcAbstractEntityPtr e); - IfcFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType); - typedef IfcFastenerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFastenerType > > list; - typedef IfcTemplatedEntityList< IfcFastenerType >::it it; + IfcFastenerType (IfcAbstractEntity* e); + IfcFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFastenerType > list; }; /// Definition from IAI: Generalization of all existence /// dependent elements which modify the shape and appearance of the @@ -31369,15 +30415,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFeatureElement (IfcAbstractEntityPtr e); + IfcFeatureElement (IfcAbstractEntity* e); IfcFeatureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFeatureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElement > > list; - typedef IfcTemplatedEntityList< IfcFeatureElement >::it it; + typedef IfcTemplatedEntityList< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general /// feature element, that represents an existence dependent @@ -31439,16 +30483,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelProjectsElement > > ProjectsElements(); // INVERSE IfcRelProjectsElement::RelatedFeatureElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelProjectsElement >::ptr ProjectsElements() const; // INVERSE IfcRelProjectsElement::RelatedFeatureElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFeatureElementAddition (IfcAbstractEntityPtr e); + IfcFeatureElementAddition (IfcAbstractEntity* e); IfcFeatureElementAddition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFeatureElementAddition* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElementAddition > > list; - typedef IfcTemplatedEntityList< IfcFeatureElementAddition >::it it; + typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of /// the general feature element, that represents an existence dependent @@ -31505,16 +30547,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcFeatureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcFeatureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelVoidsElement > > VoidsElements(); // INVERSE IfcRelVoidsElement::RelatedOpeningElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelVoidsElement >::ptr VoidsElements() const; // INVERSE IfcRelVoidsElement::RelatedOpeningElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFeatureElementSubtraction (IfcAbstractEntityPtr e); + IfcFeatureElementSubtraction (IfcAbstractEntity* e); IfcFeatureElementSubtraction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFeatureElementSubtraction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFeatureElementSubtraction > > list; - typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction >::it it; + typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property /// set definitions of a flow controller and an optional set of product representations. @@ -31545,15 +30585,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowControllerType (IfcAbstractEntityPtr e); - IfcFlowControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowControllerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowControllerType > > list; - typedef IfcTemplatedEntityList< IfcFlowControllerType >::it it; + IfcFlowControllerType (IfcAbstractEntity* e); + IfcFlowControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFlowControllerType > list; }; /// The element type IfcFlowFittingType defines a list of commonly shared property /// set definitions of a flow fitting and an optional set of product representations. @@ -31585,15 +30623,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowFittingType (IfcAbstractEntityPtr e); - IfcFlowFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowFittingType > > list; - typedef IfcTemplatedEntityList< IfcFlowFittingType >::it it; + IfcFlowFittingType (IfcAbstractEntity* e); + IfcFlowFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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: /// @@ -31630,20 +30666,18 @@ public: class IfcFlowMeterType : public IfcFlowControllerType { public: /// Defines the type of flow meter. - IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType(); + IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMeterType (IfcAbstractEntityPtr e); - IfcFlowMeterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); - typedef IfcFlowMeterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMeterType > > list; - typedef IfcTemplatedEntityList< IfcFlowMeterType >::it it; + IfcFlowMeterType (IfcAbstractEntity* e); + IfcFlowMeterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFlowMeterType > list; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property /// set definitions of a flow moving device and an optional set of product representations. @@ -31673,15 +30707,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMovingDeviceType (IfcAbstractEntityPtr e); - IfcFlowMovingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowMovingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMovingDeviceType > > list; - typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType >::it it; + IfcFlowMovingDeviceType (IfcAbstractEntity* e); + IfcFlowMovingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType > list; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property /// set definitions of a flow segment and an optional set of product representations. @@ -31720,15 +30752,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowSegmentType (IfcAbstractEntityPtr e); - IfcFlowSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowSegmentType > > list; - typedef IfcTemplatedEntityList< IfcFlowSegmentType >::it it; + IfcFlowSegmentType (IfcAbstractEntity* e); + IfcFlowSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -31742,15 +30772,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowStorageDeviceType (IfcAbstractEntityPtr e); - IfcFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowStorageDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowStorageDeviceType > > list; - typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType >::it it; + IfcFlowStorageDeviceType (IfcAbstractEntity* e); + IfcFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -31764,15 +30792,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTerminalType (IfcAbstractEntityPtr e); - IfcFlowTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTerminalType > > list; - typedef IfcTemplatedEntityList< IfcFlowTerminalType >::it it; + IfcFlowTerminalType (IfcAbstractEntity* e); + IfcFlowTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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). /// @@ -31788,15 +30814,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTreatmentDeviceType (IfcAbstractEntityPtr e); - IfcFlowTreatmentDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcFlowTreatmentDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > > list; - typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType >::it it; + IfcFlowTreatmentDeviceType (IfcAbstractEntity* e); + IfcFlowTreatmentDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. /// @@ -31810,20 +30834,18 @@ public: class IfcFootingType : public IfcBuildingElementType { public: /// Subtype of footing. - IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType(); + IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFootingType (IfcAbstractEntityPtr e); - IfcFootingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType); - typedef IfcFootingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFootingType > > list; - typedef IfcTemplatedEntityList< IfcFootingType >::it it; + IfcFootingType (IfcAbstractEntity* e); + IfcFootingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFootingType > list; }; /// Definition from IAI: Generalization of all furniture /// related objects. Furnishing objects are characterized as @@ -31934,15 +30956,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurnishingElement (IfcAbstractEntityPtr e); + IfcFurnishingElement (IfcAbstractEntity* e); IfcFurnishingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFurnishingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurnishingElement > > list; - typedef IfcTemplatedEntityList< IfcFurnishingElement >::it it; + 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. /// @@ -31978,21 +30998,19 @@ public: class IfcFurniture : public IfcFurnishingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcFurniture - bool hasPredefinedType(); - IfcFurnitureTypeEnum::IfcFurnitureTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFurnitureTypeEnum::IfcFurnitureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFurnishingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFurniture (IfcAbstractEntityPtr e); + IfcFurniture (IfcAbstractEntity* e); IfcFurniture (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType); - typedef IfcFurniture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFurniture > > list; - typedef IfcTemplatedEntityList< IfcFurniture >::it it; + typedef IfcTemplatedEntityList< IfcFurniture > list; }; /// Definition from IAI: An IfcGeographicElement is /// a generalization of all elements within a geographical landscape. @@ -32137,22 +31155,20 @@ public: class IfcGeographicElement : public IfcElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcGeographicElement - bool hasPredefinedType(); + 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(); + IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGeographicElement (IfcAbstractEntityPtr e); + IfcGeographicElement (IfcAbstractEntity* e); IfcGeographicElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType); - typedef IfcGeographicElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGeographicElement > > list; - typedef IfcTemplatedEntityList< IfcGeographicElement >::it it; + typedef IfcTemplatedEntityList< IfcGeographicElement > list; }; /// IfcGrid ia a planar design /// grid defined in 3D space used as an aid in locating structural and @@ -32253,33 +31269,31 @@ public: class IfcGrid : public IfcProduct { public: /// List of grid axes defining the first row of grid lines. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > UAxes(); - void setUAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr UAxes() const; + void setUAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// List of grid axes defining the second row of grid lines. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > VAxes(); - void setVAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr VAxes() const; + void setVAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Whether the optional attribute WAxes is defined for this IfcGrid - bool hasWAxes(); + bool hasWAxes() const; /// List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid. - SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > WAxes(); - void setWAxes(SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v); + IfcTemplatedEntityList< IfcGridAxis >::ptr WAxes() const; + void setWAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// Whether the optional attribute PredefinedType is defined for this IfcGrid - bool hasPredefinedType(); - IfcGridTypeEnum::IfcGridTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcGridTypeEnum::IfcGridTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "UAxes"; case 8: return "VAxes"; case 9: return "WAxes"; case 10: return "PredefinedType"; } return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > > ContainedInStructure(); // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGrid (IfcAbstractEntityPtr e); - IfcGrid (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v8_UAxes, SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > v9_VAxes, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcGridAxis > > > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType); - typedef IfcGrid* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGrid > > list; - typedef IfcTemplatedEntityList< IfcGrid >::it it; + IfcGrid (IfcAbstractEntity* e); + IfcGrid (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType); + 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. /// @@ -32316,16 +31330,14 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcObject::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelAssignsToGroup > > IsGroupedBy(); // INVERSE IfcRelAssignsToGroup::RelatingGroup + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelAssignsToGroup >::ptr IsGroupedBy() const; // INVERSE IfcRelAssignsToGroup::RelatingGroup bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcGroup (IfcAbstractEntityPtr e); + IfcGroup (IfcAbstractEntity* e); IfcGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcGroup > > list; - typedef IfcTemplatedEntityList< IfcGroup >::it it; + 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: /// @@ -32359,20 +31371,18 @@ public: class IfcHeatExchangerType : public IfcEnergyConversionDeviceType { public: /// Defines the basic types of heat exchanger (e.g., plate, shell and tube, etc.). - IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType(); + IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHeatExchangerType (IfcAbstractEntityPtr e); - IfcHeatExchangerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); - typedef IfcHeatExchangerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHeatExchangerType > > list; - typedef IfcTemplatedEntityList< IfcHeatExchangerType >::it it; + IfcHeatExchangerType (IfcAbstractEntity* e); + IfcHeatExchangerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); + 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: /// @@ -32403,20 +31413,18 @@ public: class IfcHumidifierType : public IfcEnergyConversionDeviceType { public: /// Defines the type of humidifier. - IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType(); + IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHumidifierType (IfcAbstractEntityPtr e); - IfcHumidifierType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); - typedef IfcHumidifierType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHumidifierType > > list; - typedef IfcTemplatedEntityList< IfcHumidifierType >::it it; + IfcHumidifierType (IfcAbstractEntity* e); + IfcHumidifierType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); + 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: /// @@ -32453,20 +31461,18 @@ public: /// The distribution ports relating to the IfcInterceptorType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcInterceptor for standard port definitions. class IfcInterceptorType : public IfcFlowTreatmentDeviceType { public: - IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType(); + IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTreatmentDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcInterceptorType (IfcAbstractEntityPtr e); - IfcInterceptorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); - typedef IfcInterceptorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcInterceptorType > > list; - typedef IfcTemplatedEntityList< IfcInterceptorType >::it it; + IfcInterceptorType (IfcAbstractEntity* e); + IfcInterceptorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcInterceptorType > list; }; /// An inventory is a list of items within an enterprise. /// @@ -32482,51 +31488,49 @@ public: class IfcInventory : public IfcGroup { public: /// Whether the optional attribute PredefinedType is defined for this IfcInventory - bool hasPredefinedType(); + 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(); + IfcInventoryTypeEnum::IfcInventoryTypeEnum PredefinedType() const; void setPredefinedType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); /// Whether the optional attribute Jurisdiction is defined for this IfcInventory - bool hasJurisdiction(); + bool hasJurisdiction() const; /// The organizational unit to which the inventory is applicable. - IfcActorSelect Jurisdiction(); + IfcActorSelect Jurisdiction() const; void setJurisdiction(IfcActorSelect v); /// Whether the optional attribute ResponsiblePersons is defined for this IfcInventory - bool hasResponsiblePersons(); + bool hasResponsiblePersons() const; /// Persons who are responsible for the inventory. - SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > ResponsiblePersons(); - void setResponsiblePersons(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v); + IfcTemplatedEntityList< IfcPerson >::ptr ResponsiblePersons() const; + void setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v); /// Whether the optional attribute LastUpdateDate is defined for this IfcInventory - bool hasLastUpdateDate(); + bool hasLastUpdateDate() const; /// The date on which the last update of the inventory was carried out. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate LastUpdateDate(); + IfcDate LastUpdateDate() const; void setLastUpdateDate(IfcDate v); /// Whether the optional attribute CurrentValue is defined for this IfcInventory - bool hasCurrentValue(); + bool hasCurrentValue() const; /// An estimate of the current cost value of the inventory. - IfcCostValue* CurrentValue(); + IfcCostValue* CurrentValue() const; void setCurrentValue(IfcCostValue* v); /// Whether the optional attribute OriginalValue is defined for this IfcInventory - bool hasOriginalValue(); + bool hasOriginalValue() const; /// An estimate of the original cost value of the inventory. - IfcCostValue* OriginalValue(); + IfcCostValue* OriginalValue() const; void setOriginalValue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "Jurisdiction"; case 7: return "ResponsiblePersons"; case 8: return "LastUpdateDate"; case 9: return "CurrentValue"; case 10: return "OriginalValue"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcInventory (IfcAbstractEntityPtr e); - IfcInventory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect > v7_Jurisdiction, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_ResponsiblePersons, boost::optional< IfcDate > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); - typedef IfcInventory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcInventory > > list; - typedef IfcTemplatedEntityList< IfcInventory >::it it; + IfcInventory (IfcAbstractEntity* e); + IfcInventory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect > v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< IfcDate > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); + 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: /// @@ -32558,20 +31562,18 @@ public: class IfcJunctionBoxType : public IfcFlowFittingType { public: /// Identifies the predefined types of junction boxes from which the type required may be set. - IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType(); + IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcJunctionBoxType (IfcAbstractEntityPtr e); - IfcJunctionBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); - typedef IfcJunctionBoxType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcJunctionBoxType > > list; - typedef IfcTemplatedEntityList< IfcJunctionBoxType >::it it; + IfcJunctionBoxType (IfcAbstractEntity* e); + IfcJunctionBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); + 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. /// @@ -32600,23 +31602,21 @@ public: class IfcLaborResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcLaborResource - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Defines types of labor resources. /// IFC2x4 New attribute - IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType(); + IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "PredefinedType"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLaborResource (IfcAbstractEntityPtr e); - IfcLaborResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType); - typedef IfcLaborResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLaborResource > > list; - typedef IfcTemplatedEntityList< IfcLaborResource >::it it; + IfcLaborResource (IfcAbstractEntity* e); + IfcLaborResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType); + typedef IfcTemplatedEntityList< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: /// @@ -32650,20 +31650,18 @@ public: class IfcLampType : public IfcFlowTerminalType { public: /// Identifies the predefined types of lamp from which the type required may be set. - IfcLampTypeEnum::IfcLampTypeEnum PredefinedType(); + IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLampType (IfcAbstractEntityPtr e); - IfcLampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); - typedef IfcLampType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLampType > > list; - typedef IfcTemplatedEntityList< IfcLampType >::it it; + IfcLampType (IfcAbstractEntity* e); + IfcLampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); + 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: /// @@ -32699,20 +31697,18 @@ public: class IfcLightFixtureType : public IfcFlowTerminalType { public: /// Identifies the predefined types of light fixture from which the type required may be set. - IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType(); + IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightFixtureType (IfcAbstractEntityPtr e); - IfcLightFixtureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); - typedef IfcLightFixtureType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightFixtureType > > list; - typedef IfcTemplatedEntityList< IfcLightFixtureType >::it it; + IfcLightFixtureType (IfcAbstractEntity* e); + IfcLightFixtureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); + 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. /// @@ -32746,30 +31742,28 @@ public: class IfcMechanicalFastener : public IfcElementComponent { public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener - bool hasNominalDiameter(); - IfcPositiveLengthMeasure NominalDiameter(); + bool hasNominalDiameter() const; + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener - bool hasNominalLength(); - IfcPositiveLengthMeasure NominalLength(); + bool hasNominalLength() const; + IfcPositiveLengthMeasure NominalLength() const; void setNominalLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute PredefinedType is defined for this IfcMechanicalFastener - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Subtype of mechanical fastener - IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType(); + IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NominalDiameter"; case 9: return "NominalLength"; case 10: return "PredefinedType"; } return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalFastener (IfcAbstractEntityPtr e); + IfcMechanicalFastener (IfcAbstractEntity* e); IfcMechanicalFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType); - typedef IfcMechanicalFastener* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalFastener > > list; - typedef IfcTemplatedEntityList< IfcMechanicalFastener >::it it; + 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). /// @@ -32809,30 +31803,28 @@ public: class IfcMechanicalFastenerType : public IfcElementComponentType { public: /// Subtype of mechanical fastener - IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType(); + IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum PredefinedType() const; void setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v); /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastenerType - bool hasNominalDiameter(); + bool hasNominalDiameter() const; /// The nominal diameter describing the cross-section size of the fastener type. - IfcPositiveLengthMeasure NominalDiameter(); + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastenerType - bool hasNominalLength(); + bool hasNominalLength() const; /// The nominal length describing the longitudinal dimensions of the fastener type. - IfcPositiveLengthMeasure NominalLength(); + IfcPositiveLengthMeasure NominalLength() const; void setNominalLength(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcElementComponentType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "NominalLength"; } return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMechanicalFastenerType (IfcAbstractEntityPtr e); - IfcMechanicalFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v12_NominalLength); - typedef IfcMechanicalFastenerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMechanicalFastenerType > > list; - typedef IfcTemplatedEntityList< IfcMechanicalFastenerType >::it it; + IfcMechanicalFastenerType (IfcAbstractEntity* e); + IfcMechanicalFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v12_NominalLength); + 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: /// @@ -32862,20 +31854,18 @@ public: /// The distribution ports relating to the IfcMedicalDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcMedicalDevice for standard port definitions. class IfcMedicalDeviceType : public IfcFlowTerminalType { public: - IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType(); + IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMedicalDeviceType (IfcAbstractEntityPtr e); - IfcMedicalDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType); - typedef IfcMedicalDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMedicalDeviceType > > list; - typedef IfcTemplatedEntityList< IfcMedicalDeviceType >::it it; + IfcMedicalDeviceType (IfcAbstractEntity* e); + IfcMedicalDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcMedicalDeviceType > list; }; /// Definition from IAI: The element type /// IfcMemberType defines commonly shared information for @@ -32981,20 +31971,18 @@ public: 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(); + IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMemberType (IfcAbstractEntityPtr e); - IfcMemberType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); - typedef IfcMemberType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMemberType > > list; - typedef IfcTemplatedEntityList< IfcMemberType >::it it; + IfcMemberType (IfcAbstractEntity* e); + IfcMemberType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); + 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: /// @@ -33026,20 +32014,18 @@ public: class IfcMotorConnectionType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of motor connection from which the type required may be set. - IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType(); + IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMotorConnectionType (IfcAbstractEntityPtr e); - IfcMotorConnectionType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); - typedef IfcMotorConnectionType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMotorConnectionType > > list; - typedef IfcTemplatedEntityList< IfcMotorConnectionType >::it it; + IfcMotorConnectionType (IfcAbstractEntity* e); + IfcMotorConnectionType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; }; /// An occupant is a type of actor that defines the form of occupancy of a property. /// @@ -33051,24 +32037,22 @@ public: class IfcOccupant : public IfcActor { public: /// Whether the optional attribute PredefinedType is defined for this IfcOccupant - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Predefined occupant types from which that required may be set. /// /// IFC2x4 CHANGE Attribute made optional. - IfcOccupantTypeEnum::IfcOccupantTypeEnum PredefinedType(); + IfcOccupantTypeEnum::IfcOccupantTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; } return IfcActor::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOccupant (IfcAbstractEntityPtr e); + IfcOccupant (IfcAbstractEntity* e); IfcOccupant (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType); - typedef IfcOccupant* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOccupant > > list; - typedef IfcTemplatedEntityList< IfcOccupant >::it it; + typedef IfcTemplatedEntityList< IfcOccupant > list; }; /// The opening element stands for /// opening, recess or chase, all reflecting voids. It represents a @@ -33275,25 +32259,23 @@ public: class IfcOpeningElement : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute PredefinedType is defined for this IfcOpeningElement - bool hasPredefinedType(); + 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(); + IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFeatureElementSubtraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFillsElement > > HasFillings(); // INVERSE IfcRelFillsElement::RelatingOpeningElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFillsElement >::ptr HasFillings() const; // INVERSE IfcRelFillsElement::RelatingOpeningElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOpeningElement (IfcAbstractEntityPtr e); + IfcOpeningElement (IfcAbstractEntity* e); IfcOpeningElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); - typedef IfcOpeningElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpeningElement > > list; - typedef IfcTemplatedEntityList< IfcOpeningElement >::it it; + typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; /// The standard opening, /// IfcOpeningStandardCase, defines an opening with certain @@ -33393,15 +32375,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcOpeningElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcOpeningElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOpeningStandardCase (IfcAbstractEntityPtr e); + IfcOpeningStandardCase (IfcAbstractEntity* e); IfcOpeningStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); - typedef IfcOpeningStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOpeningStandardCase > > list; - typedef IfcTemplatedEntityList< IfcOpeningStandardCase >::it it; + typedef IfcTemplatedEntityList< IfcOpeningStandardCase > list; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: /// @@ -33435,20 +32415,18 @@ public: class IfcOutletType : public IfcFlowTerminalType { public: /// Identifies the predefined types of outlet from which the type required may be set. - IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType(); + IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOutletType (IfcAbstractEntityPtr e); - IfcOutletType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); - typedef IfcOutletType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOutletType > > list; - typedef IfcTemplatedEntityList< IfcOutletType >::it it; + IfcOutletType (IfcAbstractEntity* e); + IfcOutletType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); + 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. /// @@ -33458,27 +32436,25 @@ public: class IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. - IfcLabel LifeCyclePhase(); + IfcLabel LifeCyclePhase() const; void setLifeCyclePhase(IfcLabel v); /// Whether the optional attribute PredefinedType is defined for this IfcPerformanceHistory - bool hasPredefinedType(); + bool hasPredefinedType() const; /// 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(); + IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "LifeCyclePhase"; case 7: return "PredefinedType"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPerformanceHistory (IfcAbstractEntityPtr e); + IfcPerformanceHistory (IfcAbstractEntity* e); IfcPerformanceHistory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcLabel v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType); - typedef IfcPerformanceHistory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPerformanceHistory > > list; - typedef IfcTemplatedEntityList< IfcPerformanceHistory >::it it; + typedef IfcTemplatedEntityList< IfcPerformanceHistory > list; }; /// This entity is a description of a panel within a /// door or window (as fillers for opening) which allows for air @@ -33514,38 +32490,36 @@ public: 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(); + IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum OperationType() const; void setOperationType(IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v); /// Position of this permeable covering panel within the overall window or door type. - IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition(); + IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v); /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties - bool hasFrameDepth(); + bool hasFrameDepth() const; /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameDepth(); + IfcPositiveLengthMeasure FrameDepth() const; void setFrameDepth(IfcPositiveLengthMeasure v); /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties - bool hasFrameThickness(); + bool hasFrameThickness() const; /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameThickness(); + IfcPositiveLengthMeasure FrameThickness() const; void setFrameThickness(IfcPositiveLengthMeasure v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties - bool hasShapeAspectStyle(); + bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. - IfcShapeAspect* ShapeAspectStyle(); + IfcShapeAspect* ShapeAspectStyle() const; void setShapeAspectStyle(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "OperationType"; case 5: return "PanelPosition"; case 6: return "FrameDepth"; case 7: return "FrameThickness"; case 8: return "ShapeAspectStyle"; } return IfcPreDefinedPropertySet::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPermeableCoveringProperties (IfcAbstractEntityPtr e); + IfcPermeableCoveringProperties (IfcAbstractEntity* e); IfcPermeableCoveringProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); - typedef IfcPermeableCoveringProperties* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPermeableCoveringProperties > > list; - typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties >::it it; + 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. /// @@ -33587,38 +32561,36 @@ public: class IfcPermit : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcPermit - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of permit that can be granted. /// /// IFC2x4 CHANGE The attribute has been added. - IfcPermitTypeEnum::IfcPermitTypeEnum PredefinedType(); + IfcPermitTypeEnum::IfcPermitTypeEnum PredefinedType() const; void setPredefinedType(IfcPermitTypeEnum::IfcPermitTypeEnum v); /// Whether the optional attribute Status is defined for this IfcPermit - bool hasStatus(); + bool hasStatus() const; /// The status currently assigned to the permit. /// /// IFC2x4 CHANGE The attribute has been added. - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute LongDescription is defined for this IfcPermit - bool hasLongDescription(); + bool hasLongDescription() const; /// Detailed description of the request. /// /// IFC2x4 CHANGE The attribute has been added. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "LongDescription"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPermit (IfcAbstractEntityPtr e); + IfcPermit (IfcAbstractEntity* e); IfcPermit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription); - typedef IfcPermit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPermit > > list; - typedef IfcTemplatedEntityList< IfcPermit >::it it; + typedef IfcTemplatedEntityList< IfcPermit > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. /// @@ -33630,20 +32602,18 @@ public: class IfcPileType : public IfcBuildingElementType { public: /// Subtype of pile. - IfcPileTypeEnum::IfcPileTypeEnum PredefinedType(); + IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPileType (IfcAbstractEntityPtr e); - IfcPileType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType); - typedef IfcPileType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPileType > > list; - typedef IfcTemplatedEntityList< IfcPileType >::it it; + IfcPileType (IfcAbstractEntity* e); + IfcPileType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType); + 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: /// @@ -33677,20 +32647,18 @@ public: class IfcPipeFittingType : public IfcFlowFittingType { public: /// The type of pipe fitting. - IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType(); + IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPipeFittingType (IfcAbstractEntityPtr e); - IfcPipeFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); - typedef IfcPipeFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeFittingType > > list; - typedef IfcTemplatedEntityList< IfcPipeFittingType >::it it; + IfcPipeFittingType (IfcAbstractEntity* e); + IfcPipeFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); + 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: /// @@ -33728,20 +32696,18 @@ public: class IfcPipeSegmentType : public IfcFlowSegmentType { public: /// The type of pipe segment. - IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType(); + IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPipeSegmentType (IfcAbstractEntityPtr e); - IfcPipeSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); - typedef IfcPipeSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeSegmentType > > list; - typedef IfcTemplatedEntityList< IfcPipeSegmentType >::it it; + IfcPipeSegmentType (IfcAbstractEntity* e); + IfcPipeSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcPipeSegmentType > list; }; /// The element type IfcPlateType defines commonly shared /// information for occurrences of plates. The set of shared @@ -33823,20 +32789,18 @@ public: 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(); + IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlateType (IfcAbstractEntityPtr e); - IfcPlateType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); - typedef IfcPlateType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlateType > > list; - typedef IfcTemplatedEntityList< IfcPlateType >::it it; + IfcPlateType (IfcAbstractEntity* e); + IfcPlateType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcPlateType > list; }; /// Definition from ISO/CD 10303-42:1992: A polyline /// is a bounded curve of n - 1 linear segments, defined by a @@ -33855,20 +32819,18 @@ public: class IfcPolyline : public IfcBoundedCurve { public: /// The points defining the polyline. - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > Points(); - void setPoints(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr Points() const; + void setPoints(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Points"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPolyline (IfcAbstractEntityPtr e); - IfcPolyline (SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v1_Points); - typedef IfcPolyline* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPolyline > > list; - typedef IfcTemplatedEntityList< IfcPolyline >::it it; + IfcPolyline (IfcAbstractEntity* e); + IfcPolyline (IfcTemplatedEntityList< IfcCartesianPoint >::ptr v1_Points); + typedef IfcTemplatedEntityList< IfcPolyline > list; }; /// Definition from IAI: An IfcPort provides the /// means for an element to connect to other elements. @@ -33928,18 +32890,16 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcProduct::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > ContainedIn(); // INVERSE IfcRelConnectsPortToElement::RelatingPort - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > ConnectedFrom(); // INVERSE IfcRelConnectsPorts::RelatedPort - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPorts > > ConnectedTo(); // INVERSE IfcRelConnectsPorts::RelatingPort + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsPortToElement >::ptr ContainedIn() const; // INVERSE IfcRelConnectsPortToElement::RelatingPort + IfcTemplatedEntityList< IfcRelConnectsPorts >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsPorts::RelatedPort + IfcTemplatedEntityList< IfcRelConnectsPorts >::ptr ConnectedTo() const; // INVERSE IfcRelConnectsPorts::RelatingPort bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPort (IfcAbstractEntityPtr e); + IfcPort (IfcAbstractEntity* e); IfcPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); - typedef IfcPort* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPort > > list; - typedef IfcTemplatedEntityList< IfcPort >::it it; + typedef IfcTemplatedEntityList< IfcPort > list; }; /// An IfcProcedure is a /// logical set of actions to be taken in response to an event @@ -34048,23 +33008,21 @@ public: class IfcProcedure : public IfcProcess { public: /// Whether the optional attribute PredefinedType is defined for this IfcProcedure - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of a procedure from which /// the type required may be set. - IfcProcedureTypeEnum::IfcProcedureTypeEnum PredefinedType(); + IfcProcedureTypeEnum::IfcProcedureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; } return IfcProcess::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProcedure (IfcAbstractEntityPtr e); + IfcProcedure (IfcAbstractEntity* e); IfcProcedure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType); - typedef IfcProcedure* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProcedure > > list; - typedef IfcTemplatedEntityList< IfcProcedure >::it it; + typedef IfcTemplatedEntityList< IfcProcedure > list; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. /// @@ -34112,14 +33070,14 @@ public: class IfcProjectOrder : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcProjectOrder - bool hasPredefinedType(); + 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(); + IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum PredefinedType() const; void setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v); /// Whether the optional attribute Status is defined for this IfcProjectOrder - bool hasStatus(); + bool hasStatus() const; /// The current status of a project order.Examples of status values that might be used for a project order status include: /// /// PLANNED @@ -34129,25 +33087,23 @@ public: /// STARTED /// DELAYED /// DONE - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute LongDescription is defined for this IfcProjectOrder - bool hasLongDescription(); + bool hasLongDescription() const; /// A detailed description of the project order describing the work to be completed. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "LongDescription"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectOrder (IfcAbstractEntityPtr e); + IfcProjectOrder (IfcAbstractEntity* e); IfcProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription); - typedef IfcProjectOrder* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectOrder > > list; - typedef IfcTemplatedEntityList< IfcProjectOrder >::it it; + typedef IfcTemplatedEntityList< IfcProjectOrder > list; }; /// The projection element is a /// specialization of the general feature element to represent @@ -34259,24 +33215,22 @@ public: class IfcProjectionElement : public IfcFeatureElementAddition { public: /// Whether the optional attribute PredefinedType is defined for this IfcProjectionElement - bool hasPredefinedType(); + 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(); + IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFeatureElementAddition::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProjectionElement (IfcAbstractEntityPtr e); + IfcProjectionElement (IfcAbstractEntity* e); IfcProjectionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType); - typedef IfcProjectionElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProjectionElement > > list; - typedef IfcTemplatedEntityList< IfcProjectionElement >::it it; + 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: /// @@ -34316,20 +33270,18 @@ public: class IfcProtectiveDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of protective device from which the type required may be set. - IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType(); + IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProtectiveDeviceType (IfcAbstractEntityPtr e); - IfcProtectiveDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); - typedef IfcProtectiveDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProtectiveDeviceType > > list; - typedef IfcTemplatedEntityList< IfcProtectiveDeviceType >::it it; + IfcProtectiveDeviceType (IfcAbstractEntity* e); + IfcProtectiveDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); + 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: /// @@ -34362,20 +33314,18 @@ public: class IfcPumpType : public IfcFlowMovingDeviceType { public: /// Defines the type of pump typically used in building services. - IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType(); + IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowMovingDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPumpType (IfcAbstractEntityPtr e); - IfcPumpType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); - typedef IfcPumpType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPumpType > > list; - typedef IfcTemplatedEntityList< IfcPumpType >::it it; + IfcPumpType (IfcAbstractEntity* e); + IfcPumpType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcPumpType > list; }; /// Definition from IAI: The element type (IfcRailingType) /// defines a list of commonly shared property set definitions of a railing element @@ -34400,20 +33350,18 @@ public: class IfcRailingType : public IfcBuildingElementType { public: /// Identifies the predefined types of a railing element from which the type required may be set. - IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType(); + IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRailingType (IfcAbstractEntityPtr e); - IfcRailingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); - typedef IfcRailingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRailingType > > list; - typedef IfcTemplatedEntityList< IfcRailingType >::it it; + IfcRailingType (IfcAbstractEntity* e); + IfcRailingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcRailingType > list; }; /// Definition from IAI: The element type (IfcRampFlightType) /// defines a list of commonly shared property set definitions of a ramp flight and @@ -34438,20 +33386,18 @@ public: 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(); + IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRampFlightType (IfcAbstractEntityPtr e); - IfcRampFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); - typedef IfcRampFlightType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampFlightType > > list; - typedef IfcTemplatedEntityList< IfcRampFlightType >::it it; + IfcRampFlightType (IfcAbstractEntity* e); + IfcRampFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcRampFlightType > list; }; /// Definition from IAI: The element type /// IfcRampType defines a list of commonly shared @@ -34489,20 +33435,18 @@ public: class IfcRampType : public IfcBuildingElementType { public: /// Identifies the predefined types of a ramp element from which the type required may be set. - IfcRampTypeEnum::IfcRampTypeEnum PredefinedType(); + IfcRampTypeEnum::IfcRampTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRampType (IfcAbstractEntityPtr e); - IfcRampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType); - typedef IfcRampType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampType > > list; - typedef IfcTemplatedEntityList< IfcRampType >::it it; + IfcRampType (IfcAbstractEntity* e); + IfcRampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType); + 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. /// @@ -34523,15 +33467,13 @@ public: virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return IfcUtil::Argument_UNKNOWN; } return IfcBSplineSurfaceWithKnots::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "WeightsData"; } return IfcBSplineSurfaceWithKnots::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRationalBSplineSurfaceWithKnots (IfcAbstractEntityPtr e); - IfcRationalBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); - typedef IfcRationalBSplineSurfaceWithKnots* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRationalBSplineSurfaceWithKnots > > list; - typedef IfcTemplatedEntityList< IfcRationalBSplineSurfaceWithKnots >::it it; + IfcRationalBSplineSurfaceWithKnots (IfcAbstractEntity* e); + IfcRationalBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); + typedef IfcTemplatedEntityList< IfcRationalBSplineSurfaceWithKnots > list; }; /// Definition from IAI: Bars, wires, strands, meshes, tendons, and other components embedded in concrete in such a manner that the reinforcement and the concrete act together in resisting forces. /// @@ -34544,21 +33486,19 @@ public: class IfcReinforcingElement : public IfcElementComponent { public: /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement - bool hasSteelGrade(); - IfcLabel SteelGrade(); + bool hasSteelGrade() const; + IfcLabel SteelGrade() const; void setSteelGrade(IfcLabel v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "SteelGrade"; } return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingElement (IfcAbstractEntityPtr e); + IfcReinforcingElement (IfcAbstractEntity* e); IfcReinforcingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade); - typedef IfcReinforcingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingElement > > list; - typedef IfcTemplatedEntityList< IfcReinforcingElement >::it it; + 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. /// @@ -34568,15 +33508,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElementComponentType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingElementType (IfcAbstractEntityPtr e); - IfcReinforcingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcReinforcingElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingElementType > > list; - typedef IfcTemplatedEntityList< IfcReinforcingElementType >::it it; + IfcReinforcingElementType (IfcAbstractEntity* e); + IfcReinforcingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + 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. /// @@ -34605,54 +33543,52 @@ public: class IfcReinforcingMesh : public IfcReinforcingElement { public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh - bool hasMeshLength(); - IfcPositiveLengthMeasure MeshLength(); + bool hasMeshLength() const; + IfcPositiveLengthMeasure MeshLength() const; void setMeshLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh - bool hasMeshWidth(); - IfcPositiveLengthMeasure MeshWidth(); + bool hasMeshWidth() const; + IfcPositiveLengthMeasure MeshWidth() const; void setMeshWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMesh - bool hasLongitudinalBarNominalDiameter(); - IfcPositiveLengthMeasure LongitudinalBarNominalDiameter(); + bool hasLongitudinalBarNominalDiameter() const; + IfcPositiveLengthMeasure LongitudinalBarNominalDiameter() const; void setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMesh - bool hasTransverseBarNominalDiameter(); - IfcPositiveLengthMeasure TransverseBarNominalDiameter(); + bool hasTransverseBarNominalDiameter() const; + IfcPositiveLengthMeasure TransverseBarNominalDiameter() const; void setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMesh - bool hasLongitudinalBarCrossSectionArea(); - IfcAreaMeasure LongitudinalBarCrossSectionArea(); + bool hasLongitudinalBarCrossSectionArea() const; + IfcAreaMeasure LongitudinalBarCrossSectionArea() const; void setLongitudinalBarCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMesh - bool hasTransverseBarCrossSectionArea(); - IfcAreaMeasure TransverseBarCrossSectionArea(); + bool hasTransverseBarCrossSectionArea() const; + IfcAreaMeasure TransverseBarCrossSectionArea() const; void setTransverseBarCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMesh - bool hasLongitudinalBarSpacing(); - IfcPositiveLengthMeasure LongitudinalBarSpacing(); + bool hasLongitudinalBarSpacing() const; + IfcPositiveLengthMeasure LongitudinalBarSpacing() const; void setLongitudinalBarSpacing(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMesh - bool hasTransverseBarSpacing(); - IfcPositiveLengthMeasure TransverseBarSpacing(); + bool hasTransverseBarSpacing() const; + IfcPositiveLengthMeasure TransverseBarSpacing() const; void setTransverseBarSpacing(IfcPositiveLengthMeasure v); /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingMesh - bool hasPredefinedType(); + bool hasPredefinedType() const; /// The predefined type is always MESH. - IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType(); + IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "MeshLength"; case 10: return "MeshWidth"; case 11: return "LongitudinalBarNominalDiameter"; case 12: return "TransverseBarNominalDiameter"; case 13: return "LongitudinalBarCrossSectionArea"; case 14: return "TransverseBarCrossSectionArea"; case 15: return "LongitudinalBarSpacing"; case 16: return "TransverseBarSpacing"; case 17: return "PredefinedType"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingMesh (IfcAbstractEntityPtr e); + IfcReinforcingMesh (IfcAbstractEntity* e); IfcReinforcingMesh (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v12_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v13_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v14_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v15_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v16_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType); - typedef IfcReinforcingMesh* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingMesh > > list; - typedef IfcTemplatedEntityList< IfcReinforcingMesh >::it it; + 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. /// @@ -34668,68 +33604,66 @@ public: class IfcReinforcingMeshType : public IfcReinforcingElementType { public: /// The predefined type is always MESH. - IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType(); + IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum PredefinedType() const; void setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v); /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMeshType - bool hasMeshLength(); + bool hasMeshLength() const; /// The overall length of the mesh measured in its longitudinal direction. - IfcPositiveLengthMeasure MeshLength(); + IfcPositiveLengthMeasure MeshLength() const; void setMeshLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMeshType - bool hasMeshWidth(); + bool hasMeshWidth() const; /// The overall width of the mesh measured in its transversal direction. - IfcPositiveLengthMeasure MeshWidth(); + IfcPositiveLengthMeasure MeshWidth() const; void setMeshWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarNominalDiameter(); + bool hasLongitudinalBarNominalDiameter() const; /// The nominal diameter denoting the cross-section size of the longitudinal bars. - IfcPositiveLengthMeasure LongitudinalBarNominalDiameter(); + IfcPositiveLengthMeasure LongitudinalBarNominalDiameter() const; void setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMeshType - bool hasTransverseBarNominalDiameter(); + bool hasTransverseBarNominalDiameter() const; /// The nominal diameter denoting the cross-section size of the transverse bars. - IfcPositiveLengthMeasure TransverseBarNominalDiameter(); + IfcPositiveLengthMeasure TransverseBarNominalDiameter() const; void setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarCrossSectionArea(); + bool hasLongitudinalBarCrossSectionArea() const; /// The effective cross-section area of the longitudinal bars of the mesh. - IfcAreaMeasure LongitudinalBarCrossSectionArea(); + IfcAreaMeasure LongitudinalBarCrossSectionArea() const; void setLongitudinalBarCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMeshType - bool hasTransverseBarCrossSectionArea(); + bool hasTransverseBarCrossSectionArea() const; /// The effective cross-section area of the transverse bars of the mesh. - IfcAreaMeasure TransverseBarCrossSectionArea(); + IfcAreaMeasure TransverseBarCrossSectionArea() const; void setTransverseBarCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMeshType - bool hasLongitudinalBarSpacing(); + bool hasLongitudinalBarSpacing() const; /// The spacing between the longitudinal bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - IfcPositiveLengthMeasure LongitudinalBarSpacing(); + IfcPositiveLengthMeasure LongitudinalBarSpacing() const; void setLongitudinalBarSpacing(IfcPositiveLengthMeasure v); /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMeshType - bool hasTransverseBarSpacing(); + bool hasTransverseBarSpacing() const; /// The spacing between the transverse bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - IfcPositiveLengthMeasure TransverseBarSpacing(); + IfcPositiveLengthMeasure TransverseBarSpacing() const; void setTransverseBarSpacing(IfcPositiveLengthMeasure v); /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingMeshType - bool hasBendingShapeCode(); - IfcLabel BendingShapeCode(); + bool hasBendingShapeCode() const; + IfcLabel BendingShapeCode() const; void setBendingShapeCode(IfcLabel v); /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingMeshType - bool hasBendingParameters(); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > BendingParameters(); - void setBendingParameters(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + bool hasBendingParameters() const; + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr BendingParameters() const; + void setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_ENTITY_LIST; } return IfcReinforcingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "MeshLength"; case 11: return "MeshWidth"; case 12: return "LongitudinalBarNominalDiameter"; case 13: return "TransverseBarNominalDiameter"; case 14: return "LongitudinalBarCrossSectionArea"; case 15: return "TransverseBarCrossSectionArea"; case 16: return "LongitudinalBarSpacing"; case 17: return "TransverseBarSpacing"; case 18: return "BendingShapeCode"; case 19: return "BendingParameters"; } return IfcReinforcingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingMeshType (IfcAbstractEntityPtr e); - IfcReinforcingMeshType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_MeshLength, boost::optional< IfcPositiveLengthMeasure > v12_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v13_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v14_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v15_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v16_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v17_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v18_TransverseBarSpacing, boost::optional< IfcLabel > v19_BendingShapeCode, boost::optional< IfcEntities > v20_BendingParameters); - typedef IfcReinforcingMeshType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingMeshType > > list; - typedef IfcTemplatedEntityList< IfcReinforcingMeshType >::it it; + IfcReinforcingMeshType (IfcAbstractEntity* e); + IfcReinforcingMeshType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_MeshLength, boost::optional< IfcPositiveLengthMeasure > v12_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v13_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v14_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v15_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v16_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v17_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v18_TransverseBarSpacing, boost::optional< IfcLabel > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters); + typedef IfcTemplatedEntityList< IfcReinforcingMeshType > list; }; /// The aggregation relationship /// IfcRelAggregates is a special type of the general @@ -34758,25 +33692,23 @@ public: /// The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. /// /// IFC2x4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered aggregation relationship. - IfcObjectDefinition* RelatingObject(); + IfcObjectDefinition* RelatingObject() const; void setRelatingObject(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. - SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > RelatedObjects(); - void setRelatedObjects(SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v); + IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; + void setRelatedObjects(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingObject"; case 5: return "RelatedObjects"; } return IfcRelDecomposes::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRelAggregates (IfcAbstractEntityPtr e); - IfcRelAggregates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, SHARED_PTR< IfcTemplatedEntityList< IfcObjectDefinition > > v6_RelatedObjects); - typedef IfcRelAggregates* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRelAggregates > > list; - typedef IfcTemplatedEntityList< IfcRelAggregates >::it it; + IfcRelAggregates (IfcAbstractEntity* e); + IfcRelAggregates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + typedef IfcTemplatedEntityList< IfcRelAggregates > list; }; /// Definition from IAI: The element type /// IfcRoofType defines a list of commonly shared @@ -34813,20 +33745,18 @@ public: class IfcRoofType : public IfcBuildingElementType { public: /// Identifies the predefined types of a roof element from which the type required may be set. - IfcRoofTypeEnum::IfcRoofTypeEnum PredefinedType(); + IfcRoofTypeEnum::IfcRoofTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoofType (IfcAbstractEntityPtr e); - IfcRoofType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType); - typedef IfcRoofType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoofType > > list; - typedef IfcTemplatedEntityList< IfcRoofType >::it it; + IfcRoofType (IfcAbstractEntity* e); + IfcRoofType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType); + 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: /// @@ -34868,20 +33798,18 @@ public: class IfcSanitaryTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of sanitary terminal from which the type required may be set. - IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType(); + IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSanitaryTerminalType (IfcAbstractEntityPtr e); - IfcSanitaryTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); - typedef IfcSanitaryTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSanitaryTerminalType > > list; - typedef IfcTemplatedEntityList< IfcSanitaryTerminalType >::it it; + IfcSanitaryTerminalType (IfcAbstractEntity* e); + IfcSanitaryTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; /// Definition from IAI: The IfcShadingDeviceType /// defines a list of commonly shared property set definitions of a @@ -34907,20 +33835,18 @@ public: 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(); + IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShadingDeviceType (IfcAbstractEntityPtr e); - IfcShadingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType); - typedef IfcShadingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShadingDeviceType > > list; - typedef IfcTemplatedEntityList< IfcShadingDeviceType >::it it; + IfcShadingDeviceType (IfcAbstractEntity* e); + IfcShadingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcShadingDeviceType > list; }; /// Definition from ISO 6707-1:1989: Area where construction /// works are undertaken. @@ -35114,45 +34040,43 @@ public: class IfcSite : public IfcSpatialStructureElement { public: /// Whether the optional attribute RefLatitude is defined for this IfcSite - bool hasRefLatitude(); + bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - IfcCompoundPlaneAngleMeasure RefLatitude(); + IfcCompoundPlaneAngleMeasure RefLatitude() const; void setRefLatitude(IfcCompoundPlaneAngleMeasure v); /// Whether the optional attribute RefLongitude is defined for this IfcSite - bool hasRefLongitude(); + bool hasRefLongitude() const; /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - IfcCompoundPlaneAngleMeasure RefLongitude(); + IfcCompoundPlaneAngleMeasure RefLongitude() const; void setRefLongitude(IfcCompoundPlaneAngleMeasure v); /// Whether the optional attribute RefElevation is defined for this IfcSite - bool hasRefElevation(); + bool hasRefElevation() const; /// Datum elevation relative to sea level. - IfcLengthMeasure RefElevation(); + IfcLengthMeasure RefElevation() const; void setRefElevation(IfcLengthMeasure v); /// Whether the optional attribute LandTitleNumber is defined for this IfcSite - bool hasLandTitleNumber(); + bool hasLandTitleNumber() const; /// The land title number (designation of the site within a regional system). - IfcLabel LandTitleNumber(); + IfcLabel LandTitleNumber() const; void setLandTitleNumber(IfcLabel v); /// Whether the optional attribute SiteAddress is defined for this IfcSite - bool hasSiteAddress(); + bool hasSiteAddress() const; /// Address given to the site for postal purposes. - IfcPostalAddress* SiteAddress(); + IfcPostalAddress* SiteAddress() const; void setSiteAddress(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "RefLatitude"; case 10: return "RefLongitude"; case 11: return "RefElevation"; case 12: return "LandTitleNumber"; case 13: return "SiteAddress"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSite (IfcAbstractEntityPtr e); + IfcSite (IfcAbstractEntity* e); IfcSite (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); - typedef IfcSite* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSite > > list; - typedef IfcTemplatedEntityList< IfcSite >::it it; + typedef IfcTemplatedEntityList< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared /// information for occurrences of slabs. The set of shared information @@ -35234,20 +34158,18 @@ public: class IfcSlabType : public IfcBuildingElementType { public: /// Identifies the predefined types of a slab element from which the type required may be set. - IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType(); + IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlabType (IfcAbstractEntityPtr e); - IfcSlabType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); - typedef IfcSlabType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlabType > > list; - typedef IfcTemplatedEntityList< IfcSlabType >::it it; + IfcSlabType (IfcAbstractEntity* e); + IfcSlabType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); + 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: /// @@ -35277,20 +34199,18 @@ public: /// The distribution ports relating to the IfcSolarDeviceType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcSolarDevice for standard port definitions. class IfcSolarDeviceType : public IfcEnergyConversionDeviceType { public: - IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType(); + IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSolarDeviceType (IfcAbstractEntityPtr e); - IfcSolarDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType); - typedef IfcSolarDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSolarDeviceType > > list; - typedef IfcTemplatedEntityList< IfcSolarDeviceType >::it it; + IfcSolarDeviceType (IfcAbstractEntity* e); + IfcSolarDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSolarDeviceType > list; }; /// A space represents an area or volume /// bounded actually or theoretically. Spaces are areas or volumes that @@ -35545,33 +34465,31 @@ public: class IfcSpace : public IfcSpatialStructureElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpace - bool hasPredefinedType(); + 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(); + IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace - bool hasElevationWithFlooring(); + bool hasElevationWithFlooring() const; /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - IfcLengthMeasure ElevationWithFlooring(); + IfcLengthMeasure ElevationWithFlooring() const; void setElevationWithFlooring(IfcLengthMeasure v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "ElevationWithFlooring"; } return IfcSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > HasCoverings(); // INVERSE IfcRelCoversSpaces::RelatingSpace - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > BoundedBy(); // INVERSE IfcRelSpaceBoundary::RelatingSpace + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelCoversSpaces >::ptr HasCoverings() const; // INVERSE IfcRelCoversSpaces::RelatingSpace + IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpace (IfcAbstractEntityPtr e); + IfcSpace (IfcAbstractEntity* e); IfcSpace (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring); - typedef IfcSpace* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpace > > list; - typedef IfcTemplatedEntityList< IfcSpace >::it it; + 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: /// @@ -35606,20 +34524,18 @@ public: class IfcSpaceHeaterType : public IfcFlowTerminalType { public: /// Enumeration of possible types of space heater (e.g., baseboard heater, convector, radiator, etc.). - IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType(); + IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceHeaterType (IfcAbstractEntityPtr e); - IfcSpaceHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); - typedef IfcSpaceHeaterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceHeaterType > > list; - typedef IfcTemplatedEntityList< IfcSpaceHeaterType >::it it; + IfcSpaceHeaterType (IfcAbstractEntity* e); + IfcSpaceHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; }; /// Definition from IAI: A space represents an area or /// volume bounded actually or theoretically. Spaces are areas or @@ -35705,24 +34621,22 @@ public: 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(); + IfcSpaceTypeEnum::IfcSpaceTypeEnum PredefinedType() const; void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); /// Whether the optional attribute LongName is defined for this IfcSpaceType - bool hasLongName(); - IfcLabel LongName(); + bool hasLongName() const; + IfcLabel LongName() const; void setLongName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcSpatialStructureElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "LongName"; } return IfcSpatialStructureElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceType (IfcAbstractEntityPtr e); - IfcSpaceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName); - typedef IfcSpaceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceType > > list; - typedef IfcTemplatedEntityList< IfcSpaceType >::it it; + IfcSpaceType (IfcAbstractEntity* e); + IfcSpaceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName); + 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: /// @@ -35753,20 +34667,18 @@ public: class IfcStackTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of stack terminal from which the type required may be set. - IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType(); + IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStackTerminalType (IfcAbstractEntityPtr e); - IfcStackTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); - typedef IfcStackTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStackTerminalType > > list; - typedef IfcTemplatedEntityList< IfcStackTerminalType >::it it; + IfcStackTerminalType (IfcAbstractEntity* e); + IfcStackTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcStackTerminalType > list; }; /// Definition from IAI: The element type (IfcStairFlightType) /// defines a list of commonly shared property set definitions of a stair flight @@ -35791,20 +34703,18 @@ public: 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(); + IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStairFlightType (IfcAbstractEntityPtr e); - IfcStairFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); - typedef IfcStairFlightType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairFlightType > > list; - typedef IfcTemplatedEntityList< IfcStairFlightType >::it it; + IfcStairFlightType (IfcAbstractEntity* e); + IfcStairFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcStairFlightType > list; }; /// Definition from IAI: The element type /// IfcStairType defines a list of commonly shared @@ -35842,20 +34752,18 @@ public: class IfcStairType : public IfcBuildingElementType { public: /// Identifies the predefined types of a stair element from which the type required may be set. - IfcStairTypeEnum::IfcStairTypeEnum PredefinedType(); + IfcStairTypeEnum::IfcStairTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStairType (IfcAbstractEntityPtr e); - IfcStairType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType); - typedef IfcStairType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairType > > list; - typedef IfcTemplatedEntityList< IfcStairType >::it it; + IfcStairType (IfcAbstractEntity* e); + IfcStairType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcStairType > list; }; /// Definition from IAI: A structural action is a structural activity that acts upon /// a structural item or building element. @@ -35879,22 +34787,20 @@ public: class IfcStructuralAction : public IfcStructuralActivity { public: /// Whether the optional attribute DestabilizingLoad is defined for this IfcStructuralAction - bool hasDestabilizingLoad(); + 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(); + bool DestabilizingLoad() const; void setDestabilizingLoad(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "DestabilizingLoad"; } return IfcStructuralActivity::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralAction (IfcAbstractEntityPtr e); + IfcStructuralAction (IfcAbstractEntity* e); IfcStructuralAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); - typedef IfcStructuralAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralAction >::it it; + 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. /// @@ -35902,23 +34808,21 @@ public: class IfcStructuralConnection : public IfcStructuralItem { public: /// Whether the optional attribute AppliedCondition is defined for this IfcStructuralConnection - bool hasAppliedCondition(); + 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(); + IfcBoundaryCondition* AppliedCondition() const; void setAppliedCondition(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "AppliedCondition"; } return IfcStructuralItem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsStructuralMember > > ConnectsStructuralMembers(); // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsStructuralMember >::ptr ConnectsStructuralMembers() const; // INVERSE IfcRelConnectsStructuralMember::RelatedStructuralConnection bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralConnection (IfcAbstractEntityPtr e); + IfcStructuralConnection (IfcAbstractEntity* e); IfcStructuralConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcStructuralConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralConnection >::it it; + typedef IfcTemplatedEntityList< IfcStructuralConnection > list; }; /// Definition from IAI: Defines an action which is distributed over a curve. /// A curve action may be connected with a curve member or curve connection, or @@ -35979,25 +34883,23 @@ public: class IfcStructuralCurveAction : public IfcStructuralAction { public: /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralCurveAction - bool hasProjectedOrTrue(); + 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(); + IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); /// Type of action according to its distribution of load values. - IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType(); + IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "ProjectedOrTrue"; case 11: return "PredefinedType"; } return IfcStructuralAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveAction (IfcAbstractEntityPtr e); + IfcStructuralCurveAction (IfcAbstractEntity* e); IfcStructuralCurveAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); - typedef IfcStructuralCurveAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveAction >::it it; + 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. /// @@ -36021,20 +34923,18 @@ public: /// 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(); + IfcDirection* Axis() const; void setAxis(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "Axis"; } return IfcStructuralConnection::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveConnection (IfcAbstractEntityPtr e); + IfcStructuralCurveConnection (IfcAbstractEntity* e); IfcStructuralCurveConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis); - typedef IfcStructuralCurveConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveConnection >::it it; + 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. /// @@ -36076,25 +34976,23 @@ public: class IfcStructuralCurveMember : public IfcStructuralMember { public: /// Type of member with respect to its load carrying behavior in this analysis idealization. - IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum PredefinedType(); + IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum PredefinedType() const; void setPredefinedType(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(); + IfcDirection* Axis() const; void setAxis(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; case 8: return "Axis"; } return IfcStructuralMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveMember (IfcAbstractEntityPtr e); + IfcStructuralCurveMember (IfcAbstractEntity* e); IfcStructuralCurveMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); - typedef IfcStructuralCurveMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveMember > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveMember >::it it; + 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. /// @@ -36121,15 +35019,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralCurveMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralCurveMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveMemberVarying (IfcAbstractEntityPtr e); + IfcStructuralCurveMemberVarying (IfcAbstractEntity* e); IfcStructuralCurveMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); - typedef IfcStructuralCurveMemberVarying* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying >::it it; + typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. /// A curve reaction may be connected with a curve member or curve connection, @@ -36184,20 +35080,18 @@ public: class IfcStructuralCurveReaction : public IfcStructuralReaction { public: /// Type of reaction according to its distribution of load values. - IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType(); + IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcStructuralReaction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralCurveReaction (IfcAbstractEntityPtr e); + IfcStructuralCurveReaction (IfcAbstractEntity* e); IfcStructuralCurveReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType); - typedef IfcStructuralCurveReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralCurveReaction > > list; - typedef IfcTemplatedEntityList< IfcStructuralCurveReaction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralCurveReaction > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. /// @@ -36211,15 +35105,13 @@ public: virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralCurveAction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralCurveAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLinearAction (IfcAbstractEntityPtr e); + IfcStructuralLinearAction (IfcAbstractEntity* e); IfcStructuralLinearAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); - typedef IfcStructuralLinearAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLinearAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralLinearAction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the /// physical impacts. By using the grouping features inherited from IfcGroup, instances of @@ -36257,38 +35149,36 @@ public: 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(); + IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum PredefinedType() const; void setPredefinedType(IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v); /// Type of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. - IfcActionTypeEnum::IfcActionTypeEnum ActionType(); + IfcActionTypeEnum::IfcActionTypeEnum ActionType() const; void setActionType(IfcActionTypeEnum::IfcActionTypeEnum v); /// Source of actions in the group. Normally needed if 'PredefinedType' specifies a LOAD_CASE. - IfcActionSourceTypeEnum::IfcActionSourceTypeEnum ActionSource(); + IfcActionSourceTypeEnum::IfcActionSourceTypeEnum ActionSource() const; void setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v); /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup - bool hasCoefficient(); + bool hasCoefficient() const; /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - IfcRatioMeasure Coefficient(); + IfcRatioMeasure Coefficient() const; void setCoefficient(IfcRatioMeasure v); /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup - bool hasPurpose(); + bool hasPurpose() const; /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - IfcLabel Purpose(); + IfcLabel Purpose() const; void setPurpose(IfcLabel v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_STRING; } return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "ActionType"; case 7: return "ActionSource"; case 8: return "Coefficient"; case 9: return "Purpose"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > SourceOfResultGroup(); // INVERSE IfcStructuralResultGroup::ResultForLoadGroup - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > LoadGroupFor(); // INVERSE IfcStructuralAnalysisModel::LoadedBy + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr SourceOfResultGroup() const; // INVERSE IfcStructuralResultGroup::ResultForLoadGroup + IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr LoadGroupFor() const; // INVERSE IfcStructuralAnalysisModel::LoadedBy bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadGroup (IfcAbstractEntityPtr e); + IfcStructuralLoadGroup (IfcAbstractEntity* e); IfcStructuralLoadGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose); - typedef IfcStructuralLoadGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadGroup >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadGroup > list; }; /// Definition from IAI: Defines an action which acts on a point. /// A point action is typically connected with a point connection. @@ -36340,15 +35230,13 @@ public: virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralAction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPointAction (IfcAbstractEntityPtr e); + IfcStructuralPointAction (IfcAbstractEntity* e); IfcStructuralPointAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); - typedef IfcStructuralPointAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralPointAction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. /// @@ -36366,22 +35254,20 @@ public: class IfcStructuralPointConnection : public IfcStructuralConnection { public: /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcStructuralPointConnection - bool hasConditionCoordinateSystem(); + 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(); + IfcAxis2Placement3D* ConditionCoordinateSystem() const; void setConditionCoordinateSystem(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ConditionCoordinateSystem"; } return IfcStructuralConnection::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPointConnection (IfcAbstractEntityPtr e); + IfcStructuralPointConnection (IfcAbstractEntity* e); IfcStructuralPointConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem); - typedef IfcStructuralPointConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralPointConnection >::it it; + typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. /// A point reaction is typically connected with a point connection. @@ -36431,15 +35317,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralReaction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralReaction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPointReaction (IfcAbstractEntityPtr e); + IfcStructuralPointReaction (IfcAbstractEntity* e); IfcStructuralPointReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); - typedef IfcStructuralPointReaction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPointReaction > > list; - typedef IfcTemplatedEntityList< IfcStructuralPointReaction >::it it; + 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. /// @@ -36448,29 +35332,27 @@ public: class IfcStructuralResultGroup : public IfcGroup { public: /// Specifies the analysis theory used to obtain the respective results. - IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType(); + IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum TheoryType() const; void setTheoryType(IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v); /// Whether the optional attribute ResultForLoadGroup is defined for this IfcStructuralResultGroup - bool hasResultForLoadGroup(); + bool hasResultForLoadGroup() const; /// Reference to an instance of IfcStructuralLoadGroup for which this instance represents the result. - IfcStructuralLoadGroup* ResultForLoadGroup(); + IfcStructuralLoadGroup* ResultForLoadGroup() const; void setResultForLoadGroup(IfcStructuralLoadGroup* v); /// This value allows to easily recognize whether a linear analysis has been applied (allowing the superposition of analysis results). - bool IsLinear(); + bool IsLinear() const; void setIsLinear(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheoryType"; case 6: return "ResultForLoadGroup"; case 7: return "IsLinear"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > ResultGroupFor(); // INVERSE IfcStructuralAnalysisModel::HasResults + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralResultGroup (IfcAbstractEntityPtr e); + IfcStructuralResultGroup (IfcAbstractEntity* e); IfcStructuralResultGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); - typedef IfcStructuralResultGroup* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > list; - typedef IfcTemplatedEntityList< IfcStructuralResultGroup >::it it; + typedef IfcTemplatedEntityList< IfcStructuralResultGroup > list; }; /// Definition from IAI: Defines an action which is distributed over a surface. /// A surface action may be connected with a surface member or surface connection. @@ -36527,25 +35409,23 @@ public: class IfcStructuralSurfaceAction : public IfcStructuralAction { public: /// Whether the optional attribute ProjectedOrTrue is defined for this IfcStructuralSurfaceAction - bool hasProjectedOrTrue(); + 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(); + IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum ProjectedOrTrue() const; void setProjectedOrTrue(IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v); /// Type of action according to its distribution of load values. - IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType(); + IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "ProjectedOrTrue"; case 11: return "PredefinedType"; } return IfcStructuralAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceAction (IfcAbstractEntityPtr e); + IfcStructuralSurfaceAction (IfcAbstractEntity* e); IfcStructuralSurfaceAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); - typedef IfcStructuralSurfaceAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceAction >::it it; + 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. /// @@ -36564,15 +35444,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralConnection::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralConnection::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralSurfaceConnection (IfcAbstractEntityPtr e); + IfcStructuralSurfaceConnection (IfcAbstractEntity* e); IfcStructuralSurfaceConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); - typedef IfcStructuralSurfaceConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralSurfaceConnection > > list; - typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection >::it it; + typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. /// @@ -36601,23 +35479,21 @@ public: class IfcSubContractResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcSubContractResource - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Defines types of subcontract resources. /// IFC2x4 New attribute - IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType(); + IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "PredefinedType"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSubContractResource (IfcAbstractEntityPtr e); - IfcSubContractResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType); - typedef IfcSubContractResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSubContractResource > > list; - typedef IfcTemplatedEntityList< IfcSubContractResource >::it it; + IfcSubContractResource (IfcAbstractEntity* e); + IfcSubContractResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType); + 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. /// @@ -36654,22 +35530,20 @@ public: class IfcSurfaceFeature : public IfcFeatureElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSurfaceFeature - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Indicates the kind of surface feature. - IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum PredefinedType(); + IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFeatureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSurfaceFeature (IfcAbstractEntityPtr e); + IfcSurfaceFeature (IfcAbstractEntity* e); IfcSurfaceFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType); - typedef IfcSurfaceFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSurfaceFeature > > list; - typedef IfcTemplatedEntityList< IfcSurfaceFeature >::it it; + 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: /// @@ -36714,20 +35588,18 @@ public: class IfcSwitchingDeviceType : public IfcFlowControllerType { public: /// Identifies the predefined types of switch from which the type required may be set. - IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType(); + IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSwitchingDeviceType (IfcAbstractEntityPtr e); - IfcSwitchingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); - typedef IfcSwitchingDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSwitchingDeviceType > > list; - typedef IfcTemplatedEntityList< IfcSwitchingDeviceType >::it it; + IfcSwitchingDeviceType (IfcAbstractEntity* e); + IfcSwitchingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSwitchingDeviceType > list; }; /// Definition from IAI: Organized combination of /// related parts within an AEC product, composed for a common @@ -36751,16 +35623,14 @@ public: virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelServicesBuildings > > ServicesBuildings(); // INVERSE IfcRelServicesBuildings::RelatingSystem + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelServicesBuildings >::ptr ServicesBuildings() const; // INVERSE IfcRelServicesBuildings::RelatingSystem bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSystem (IfcAbstractEntityPtr e); + IfcSystem (IfcAbstractEntity* e); IfcSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); - typedef IfcSystem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystem > > list; - typedef IfcTemplatedEntityList< IfcSystem >::it it; + 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. /// @@ -36789,21 +35659,19 @@ public: class IfcSystemFurnitureElement : public IfcFurnishingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSystemFurnitureElement - bool hasPredefinedType(); - IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFurnishingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSystemFurnitureElement (IfcAbstractEntityPtr e); + IfcSystemFurnitureElement (IfcAbstractEntity* e); IfcSystemFurnitureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType); - typedef IfcSystemFurnitureElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSystemFurnitureElement > > list; - typedef IfcTemplatedEntityList< IfcSystemFurnitureElement >::it it; + 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: /// @@ -36840,136 +35708,126 @@ public: class IfcTankType : public IfcFlowStorageDeviceType { public: /// Defines the type of tank. - IfcTankTypeEnum::IfcTankTypeEnum PredefinedType(); + IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowStorageDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTankType (IfcAbstractEntityPtr e); - IfcTankType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); - typedef IfcTankType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTankType > > list; - typedef IfcTemplatedEntityList< IfcTankType >::it it; + IfcTankType (IfcAbstractEntity* e); + IfcTankType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTankType > list; }; class IfcTendon : public IfcReinforcingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcTendon - bool hasPredefinedType(); - IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); /// Whether the optional attribute NominalDiameter is defined for this IfcTendon - bool hasNominalDiameter(); - IfcPositiveLengthMeasure NominalDiameter(); + bool hasNominalDiameter() const; + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute CrossSectionArea is defined for this IfcTendon - bool hasCrossSectionArea(); - IfcAreaMeasure CrossSectionArea(); + bool hasCrossSectionArea() const; + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute TensionForce is defined for this IfcTendon - bool hasTensionForce(); - IfcForceMeasure TensionForce(); + bool hasTensionForce() const; + IfcForceMeasure TensionForce() const; void setTensionForce(IfcForceMeasure v); /// Whether the optional attribute PreStress is defined for this IfcTendon - bool hasPreStress(); - IfcPressureMeasure PreStress(); + bool hasPreStress() const; + IfcPressureMeasure PreStress() const; void setPreStress(IfcPressureMeasure v); /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon - bool hasFrictionCoefficient(); - IfcNormalisedRatioMeasure FrictionCoefficient(); + bool hasFrictionCoefficient() const; + IfcNormalisedRatioMeasure FrictionCoefficient() const; void setFrictionCoefficient(IfcNormalisedRatioMeasure v); /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon - bool hasAnchorageSlip(); - IfcPositiveLengthMeasure AnchorageSlip(); + bool hasAnchorageSlip() const; + IfcPositiveLengthMeasure AnchorageSlip() const; void setAnchorageSlip(IfcPositiveLengthMeasure v); /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon - bool hasMinCurvatureRadius(); - IfcPositiveLengthMeasure MinCurvatureRadius(); + bool hasMinCurvatureRadius() const; + IfcPositiveLengthMeasure MinCurvatureRadius() const; void setMinCurvatureRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "TensionForce"; case 13: return "PreStress"; case 14: return "FrictionCoefficient"; case 15: return "AnchorageSlip"; case 16: return "MinCurvatureRadius"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTendon (IfcAbstractEntityPtr e); + IfcTendon (IfcAbstractEntity* e); IfcTendon (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius); - typedef IfcTendon* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendon > > list; - typedef IfcTemplatedEntityList< IfcTendon >::it it; + typedef IfcTemplatedEntityList< IfcTendon > list; }; class IfcTendonAnchor : public IfcReinforcingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcTendonAnchor - bool hasPredefinedType(); - IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTendonAnchor (IfcAbstractEntityPtr e); + IfcTendonAnchor (IfcAbstractEntity* e); IfcTendonAnchor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType); - typedef IfcTendonAnchor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendonAnchor > > list; - typedef IfcTemplatedEntityList< IfcTendonAnchor >::it it; + typedef IfcTemplatedEntityList< IfcTendonAnchor > list; }; class IfcTendonAnchorType : public IfcReinforcingElementType { public: - IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType(); + IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcReinforcingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTendonAnchorType (IfcAbstractEntityPtr e); - IfcTendonAnchorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType); - typedef IfcTendonAnchorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendonAnchorType > > list; - typedef IfcTemplatedEntityList< IfcTendonAnchorType >::it it; + IfcTendonAnchorType (IfcAbstractEntity* e); + IfcTendonAnchorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTendonAnchorType > list; }; class IfcTendonType : public IfcReinforcingElementType { public: - IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType(); + IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); /// Whether the optional attribute NominalDiameter is defined for this IfcTendonType - bool hasNominalDiameter(); - IfcPositiveLengthMeasure NominalDiameter(); + bool hasNominalDiameter() const; + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute CrossSectionArea is defined for this IfcTendonType - bool hasCrossSectionArea(); - IfcAreaMeasure CrossSectionArea(); + bool hasCrossSectionArea() const; + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute SheethDiameter is defined for this IfcTendonType - bool hasSheethDiameter(); - IfcPositiveLengthMeasure SheethDiameter(); + bool hasSheethDiameter() const; + IfcPositiveLengthMeasure SheethDiameter() const; void setSheethDiameter(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "SheethDiameter"; } return IfcReinforcingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTendonType (IfcAbstractEntityPtr e); - IfcTendonType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_SheethDiameter); - typedef IfcTendonType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTendonType > > list; - typedef IfcTemplatedEntityList< IfcTendonType >::it it; + IfcTendonType (IfcAbstractEntity* e); + IfcTendonType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_SheethDiameter); + 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: /// @@ -37001,20 +35859,18 @@ public: class IfcTransformerType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of transformer from which the type required may be set. - IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType(); + IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransformerType (IfcAbstractEntityPtr e); - IfcTransformerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); - typedef IfcTransformerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransformerType > > list; - typedef IfcTemplatedEntityList< IfcTransformerType >::it it; + IfcTransformerType (IfcAbstractEntity* e); + IfcTransformerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcTransformerType > list; }; /// Definition from IAI: Generalization of all transport /// related objects that move people, animals or goods within a @@ -37135,24 +35991,22 @@ public: class IfcTransportElement : public IfcElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcTransportElement - bool hasPredefinedType(); + 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(); + IfcTransportElementTypeEnum::IfcTransportElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransportElement (IfcAbstractEntityPtr e); + IfcTransportElement (IfcAbstractEntity* e); IfcTransportElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType); - typedef IfcTransportElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransportElement > > list; - typedef IfcTemplatedEntityList< IfcTransportElement >::it it; + typedef IfcTemplatedEntityList< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: /// A trimmed curve is a bounded curve which is created by taking a selected @@ -37235,32 +36089,30 @@ public: 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(); + IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Trim1(); - void setTrim1(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim1() const; + void setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > Trim2(); - void setTrim2(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim2() const; + void setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::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(); + bool SenseAgreement() const; void setSenseAgreement(bool v); /// Where both parameter and point are present at either end of the curve this indicates the preferred form. - IfcTrimmingPreference::IfcTrimmingPreference MasterRepresentation(); + IfcTrimmingPreference::IfcTrimmingPreference MasterRepresentation() const; void setMasterRepresentation(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Trim1"; case 2: return "Trim2"; case 3: return "SenseAgreement"; case 4: return "MasterRepresentation"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTrimmedCurve (IfcAbstractEntityPtr e); - IfcTrimmedCurve (IfcCurve* v1_BasisCurve, IfcEntities v2_Trim1, IfcEntities v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation); - typedef IfcTrimmedCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTrimmedCurve > > list; - typedef IfcTemplatedEntityList< IfcTrimmedCurve >::it it; + IfcTrimmedCurve (IfcAbstractEntity* e); + IfcTrimmedCurve (IfcCurve* v1_BasisCurve, IfcEntityList::ptr v2_Trim1, IfcEntityList::ptr v3_Trim2, bool v4_SenseAgreement, IfcTrimmingPreference::IfcTrimmingPreference v5_MasterRepresentation); + typedef IfcTemplatedEntityList< IfcTrimmedCurve > list; }; /// The energy conversion device type IfcTubeBundleType defines commonly shared information for occurrences of tube bundles. The set of shared information may include: /// @@ -37294,20 +36146,18 @@ public: class IfcTubeBundleType : public IfcEnergyConversionDeviceType { public: /// Defines the type of tube bundle. - IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType(); + IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTubeBundleType (IfcAbstractEntityPtr e); - IfcTubeBundleType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); - typedef IfcTubeBundleType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTubeBundleType > > list; - typedef IfcTemplatedEntityList< IfcTubeBundleType >::it it; + IfcTubeBundleType (IfcAbstractEntity* e); + IfcTubeBundleType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); + 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: /// @@ -37340,20 +36190,18 @@ public: class IfcUnitaryEquipmentType : public IfcEnergyConversionDeviceType { public: /// The type of unitary equipment. - IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType(); + IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitaryEquipmentType (IfcAbstractEntityPtr e); - IfcUnitaryEquipmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); - typedef IfcUnitaryEquipmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitaryEquipmentType > > list; - typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType >::it it; + IfcUnitaryEquipmentType (IfcAbstractEntity* e); + IfcUnitaryEquipmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType > list; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: /// @@ -37396,20 +36244,18 @@ public: class IfcValveType : public IfcFlowControllerType { public: /// The type of valve. - IfcValveTypeEnum::IfcValveTypeEnum PredefinedType(); + IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcValveType (IfcAbstractEntityPtr e); - IfcValveType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); - typedef IfcValveType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcValveType > > list; - typedef IfcTemplatedEntityList< IfcValveType >::it it; + IfcValveType (IfcAbstractEntity* e); + IfcValveType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcValveType > list; }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. /// @@ -37448,21 +36294,19 @@ public: class IfcVibrationIsolator : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcVibrationIsolator - bool hasPredefinedType(); - IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVibrationIsolator (IfcAbstractEntityPtr e); + IfcVibrationIsolator (IfcAbstractEntity* e); IfcVibrationIsolator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType); - typedef IfcVibrationIsolator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVibrationIsolator > > list; - typedef IfcTemplatedEntityList< IfcVibrationIsolator >::it it; + 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: /// @@ -37489,20 +36333,18 @@ public: class IfcVibrationIsolatorType : public IfcElementComponentType { public: /// Defines the type of vibration isolator. - IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType(); + IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVibrationIsolatorType (IfcAbstractEntityPtr e); - IfcVibrationIsolatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); - typedef IfcVibrationIsolatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVibrationIsolatorType > > list; - typedef IfcTemplatedEntityList< IfcVibrationIsolatorType >::it it; + IfcVibrationIsolatorType (IfcAbstractEntity* e); + IfcVibrationIsolatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); + 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. /// @@ -37595,15 +36437,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVirtualElement (IfcAbstractEntityPtr e); + IfcVirtualElement (IfcAbstractEntity* e); IfcVirtualElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcVirtualElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVirtualElement > > list; - typedef IfcTemplatedEntityList< IfcVirtualElement >::it it; + 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. /// @@ -37640,22 +36480,20 @@ public: class IfcVoidingFeature : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute PredefinedType is defined for this IfcVoidingFeature - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Qualifies the feature regarding its shape and configuration relative to the voided element. - IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum PredefinedType(); + IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFeatureElementSubtraction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcVoidingFeature (IfcAbstractEntityPtr e); + IfcVoidingFeature (IfcAbstractEntity* e); IfcVoidingFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType); - typedef IfcVoidingFeature* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcVoidingFeature > > list; - typedef IfcTemplatedEntityList< IfcVoidingFeature >::it it; + typedef IfcTemplatedEntityList< IfcVoidingFeature > list; }; /// Definition from IAI: The element type /// IfcWallType defines commonly shared information for @@ -37744,20 +36582,18 @@ public: class IfcWallType : public IfcBuildingElementType { public: /// Identifies the predefined types of a wall element from which the type required may be set. - IfcWallTypeEnum::IfcWallTypeEnum PredefinedType(); + IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWallType (IfcAbstractEntityPtr e); - IfcWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); - typedef IfcWallType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallType > > list; - typedef IfcTemplatedEntityList< IfcWallType >::it it; + IfcWallType (IfcAbstractEntity* e); + IfcWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); + 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: /// @@ -37798,20 +36634,18 @@ public: class IfcWasteTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of waste terminal from which the type required may be set. - IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType(); + IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWasteTerminalType (IfcAbstractEntityPtr e); - IfcWasteTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); - typedef IfcWasteTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWasteTerminalType > > list; - typedef IfcTemplatedEntityList< IfcWasteTerminalType >::it it; + IfcWasteTerminalType (IfcAbstractEntity* e); + IfcWasteTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcWasteTerminalType > list; }; /// Definition from IAI: The element type /// IfcWindowType defines commonly shared information for @@ -37937,31 +36771,29 @@ public: class IfcWindowType : public IfcBuildingElementType { public: /// Identifies the predefined types of a window element from which the type required may be set. - IfcWindowTypeEnum::IfcWindowTypeEnum PredefinedType(); + IfcWindowTypeEnum::IfcWindowTypeEnum PredefinedType() const; void setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v); /// Type defining the general layout of the window type in terms of the partitioning of panels. - IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum PartitioningType(); + IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum PartitioningType() const; void setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v); /// Whether the optional attribute ParameterTakesPrecedence is defined for this IfcWindowType - bool hasParameterTakesPrecedence(); - bool ParameterTakesPrecedence(); + bool hasParameterTakesPrecedence() const; + bool ParameterTakesPrecedence() const; void setParameterTakesPrecedence(bool v); /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindowType - bool hasUserDefinedPartitioningType(); - IfcLabel UserDefinedPartitioningType(); + bool hasUserDefinedPartitioningType() const; + IfcLabel UserDefinedPartitioningType() const; void setUserDefinedPartitioningType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "PartitioningType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedPartitioningType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowType (IfcAbstractEntityPtr e); - IfcWindowType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); - typedef IfcWindowType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowType > > list; - typedef IfcTemplatedEntityList< IfcWindowType >::it it; + IfcWindowType (IfcAbstractEntity* e); + IfcWindowType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); + 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. /// @@ -37979,39 +36811,37 @@ public: class IfcWorkCalendar : public IfcControl { public: /// Whether the optional attribute WorkingTimes is defined for this IfcWorkCalendar - bool hasWorkingTimes(); + 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. - SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > WorkingTimes(); - void setWorkingTimes(SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > v); + IfcTemplatedEntityList< IfcWorkTime >::ptr WorkingTimes() const; + void setWorkingTimes(IfcTemplatedEntityList< IfcWorkTime >::ptr v); /// Whether the optional attribute ExceptionTimes is defined for this IfcWorkCalendar - bool hasExceptionTimes(); + bool hasExceptionTimes() const; /// Set of times periods that define exceptions (non-working /// times) for the given working times including the base /// calendar, if provided. - SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > ExceptionTimes(); - void setExceptionTimes(SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > v); + IfcTemplatedEntityList< IfcWorkTime >::ptr ExceptionTimes() const; + void setExceptionTimes(IfcTemplatedEntityList< IfcWorkTime >::ptr v); /// Whether the optional attribute PredefinedType is defined for this IfcWorkCalendar - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of a work calendar from which /// the type required may be set. /// /// Added in IFC 2x4 - IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum PredefinedType(); + IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "WorkingTimes"; case 7: return "ExceptionTimes"; case 8: return "PredefinedType"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkCalendar (IfcAbstractEntityPtr e); - IfcWorkCalendar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > > v7_WorkingTimes, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcWorkTime > > > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType); - typedef IfcWorkCalendar* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkCalendar > > list; - typedef IfcTemplatedEntityList< IfcWorkCalendar >::it it; + IfcWorkCalendar (IfcAbstractEntity* e); + IfcWorkCalendar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType); + typedef IfcTemplatedEntityList< IfcWorkCalendar > list; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. /// @@ -38060,48 +36890,46 @@ public: class IfcWorkControl : public IfcControl { public: /// The date that the plan is created. - IfcDateTime CreationDate(); + IfcDateTime CreationDate() const; void setCreationDate(IfcDateTime v); /// Whether the optional attribute Creators is defined for this IfcWorkControl - bool hasCreators(); + bool hasCreators() const; /// The authors of the work plan. - SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > Creators(); - void setCreators(SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > v); + IfcTemplatedEntityList< IfcPerson >::ptr Creators() const; + void setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v); /// Whether the optional attribute Purpose is defined for this IfcWorkControl - bool hasPurpose(); + bool hasPurpose() const; /// A description of the purpose of the work schedule. - IfcLabel Purpose(); + IfcLabel Purpose() const; void setPurpose(IfcLabel v); /// Whether the optional attribute Duration is defined for this IfcWorkControl - bool hasDuration(); + bool hasDuration() const; /// The total duration of the entire work schedule. - IfcDuration Duration(); + IfcDuration Duration() const; void setDuration(IfcDuration v); /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl - bool hasTotalFloat(); + bool hasTotalFloat() const; /// The total time float of the entire work schedule. - IfcDuration TotalFloat(); + IfcDuration TotalFloat() const; void setTotalFloat(IfcDuration v); /// The start time of the schedule. - IfcDateTime StartTime(); + IfcDateTime StartTime() const; void setStartTime(IfcDateTime v); /// Whether the optional attribute FinishTime is defined for this IfcWorkControl - bool hasFinishTime(); + bool hasFinishTime() const; /// The finish time of the schedule. - IfcDateTime FinishTime(); + IfcDateTime FinishTime() const; void setFinishTime(IfcDateTime v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "CreationDate"; case 7: return "Creators"; case 8: return "Purpose"; case 9: return "Duration"; case 10: return "TotalFloat"; case 11: return "StartTime"; case 12: return "FinishTime"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkControl (IfcAbstractEntityPtr e); - IfcWorkControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime); - typedef IfcWorkControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkControl > > list; - typedef IfcTemplatedEntityList< IfcWorkControl >::it it; + IfcWorkControl (IfcAbstractEntity* e); + IfcWorkControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime); + typedef IfcTemplatedEntityList< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. /// @@ -38131,23 +36959,21 @@ public: class IfcWorkPlan : public IfcWorkControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcWorkPlan - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of a work plan from which /// the type required may be set. - IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum PredefinedType(); + IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 13: return "PredefinedType"; } return IfcWorkControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkPlan (IfcAbstractEntityPtr e); - IfcWorkPlan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType); - typedef IfcWorkPlan* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkPlan > > list; - typedef IfcTemplatedEntityList< IfcWorkPlan >::it it; + IfcWorkPlan (IfcAbstractEntity* e); + IfcWorkPlan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType); + typedef IfcTemplatedEntityList< IfcWorkPlan > list; }; /// An IfcWorkSchedule /// represents a task schedule of a work plan, which in turn @@ -38192,23 +37018,21 @@ public: class IfcWorkSchedule : public IfcWorkControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcWorkSchedule - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of a work schedule from which /// the type required may be set. - IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum PredefinedType(); + IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 13: return "PredefinedType"; } return IfcWorkControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWorkSchedule (IfcAbstractEntityPtr e); - IfcWorkSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPerson > > > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType); - typedef IfcWorkSchedule* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWorkSchedule > > list; - typedef IfcTemplatedEntityList< IfcWorkSchedule >::it it; + IfcWorkSchedule (IfcAbstractEntity* e); + IfcWorkSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType); + typedef IfcTemplatedEntityList< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isÿa group of spaces, /// partial spaces or other zones. Zone structures may not be @@ -38298,26 +37122,24 @@ public: class IfcZone : public IfcSystem { public: /// Whether the optional attribute LongName is defined for this IfcZone - bool hasLongName(); + 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. - IfcLabel LongName(); + IfcLabel LongName() const; void setLongName(IfcLabel v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcSystem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "LongName"; } return IfcSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcZone (IfcAbstractEntityPtr e); + IfcZone (IfcAbstractEntity* e); IfcZone (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName); - typedef IfcZone* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcZone > > list; - typedef IfcTemplatedEntityList< IfcZone >::it it; + 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. /// @@ -38360,14 +37182,14 @@ public: class IfcActionRequest : public IfcControl { public: /// Whether the optional attribute PredefinedType is defined for this IfcActionRequest - bool hasPredefinedType(); + 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(); + IfcActionRequestTypeEnum::IfcActionRequestTypeEnum PredefinedType() const; void setPredefinedType(IfcActionRequestTypeEnum::IfcActionRequestTypeEnum v); /// Whether the optional attribute Status is defined for this IfcActionRequest - bool hasStatus(); + bool hasStatus() const; /// 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 @@ -38375,27 +37197,25 @@ public: /// Urgent: take action immediately /// /// IFC2x4 CHANGE The attribute has been added. - IfcLabel Status(); + IfcLabel Status() const; void setStatus(IfcLabel v); /// Whether the optional attribute LongDescription is defined for this IfcActionRequest - bool hasLongDescription(); + bool hasLongDescription() const; /// Detailed description of the permit. /// /// IFC2x4 CHANGE The attribute has been added. - IfcText LongDescription(); + IfcText LongDescription() const; void setLongDescription(IfcText v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "LongDescription"; } return IfcControl::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActionRequest (IfcAbstractEntityPtr e); + IfcActionRequest (IfcAbstractEntity* e); IfcActionRequest (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription); - typedef IfcActionRequest* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActionRequest > > list; - typedef IfcTemplatedEntityList< IfcActionRequest >::it it; + 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: /// @@ -38426,20 +37246,18 @@ public: class IfcAirTerminalBoxType : public IfcFlowControllerType { public: /// The air terminal box type. - IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType(); + IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirTerminalBoxType (IfcAbstractEntityPtr e); - IfcAirTerminalBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); - typedef IfcAirTerminalBoxType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalBoxType > > list; - typedef IfcTemplatedEntityList< IfcAirTerminalBoxType >::it it; + IfcAirTerminalBoxType (IfcAbstractEntity* e); + IfcAirTerminalBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); + 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: /// @@ -38469,20 +37287,18 @@ public: /// The distribution ports relating to the IfcAirTerminalType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcAirTerminal for standard port definitions. class IfcAirTerminalType : public IfcFlowTerminalType { public: - IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType(); + IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirTerminalType (IfcAbstractEntityPtr e); - IfcAirTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); - typedef IfcAirTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalType > > list; - typedef IfcTemplatedEntityList< IfcAirTerminalType >::it it; + IfcAirTerminalType (IfcAbstractEntity* e); + IfcAirTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); + 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: /// @@ -38513,20 +37329,18 @@ public: class IfcAirToAirHeatRecoveryType : public IfcEnergyConversionDeviceType { public: /// Defines the type of air to air heat recovery device. - IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType(); + IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirToAirHeatRecoveryType (IfcAbstractEntityPtr e); - IfcAirToAirHeatRecoveryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); - typedef IfcAirToAirHeatRecoveryType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > > list; - typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType >::it it; + IfcAirToAirHeatRecoveryType (IfcAbstractEntity* e); + IfcAirToAirHeatRecoveryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); + 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. /// @@ -38555,67 +37369,65 @@ public: class IfcAsset : public IfcGroup { public: /// Whether the optional attribute Identification is defined for this IfcAsset - bool hasIdentification(); + bool hasIdentification() const; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. - IfcIdentifier Identification(); + IfcIdentifier Identification() const; void setIdentification(IfcIdentifier v); /// Whether the optional attribute OriginalValue is defined for this IfcAsset - bool hasOriginalValue(); + bool hasOriginalValue() const; /// The cost value of the asset at the time of purchase. - IfcCostValue* OriginalValue(); + IfcCostValue* OriginalValue() const; void setOriginalValue(IfcCostValue* v); /// Whether the optional attribute CurrentValue is defined for this IfcAsset - bool hasCurrentValue(); + bool hasCurrentValue() const; /// The current cost value of the asset. - IfcCostValue* CurrentValue(); + IfcCostValue* CurrentValue() const; void setCurrentValue(IfcCostValue* v); /// Whether the optional attribute TotalReplacementCost is defined for this IfcAsset - bool hasTotalReplacementCost(); + bool hasTotalReplacementCost() const; /// The total cost of replacement of the asset. - IfcCostValue* TotalReplacementCost(); + IfcCostValue* TotalReplacementCost() const; void setTotalReplacementCost(IfcCostValue* v); /// Whether the optional attribute Owner is defined for this IfcAsset - bool hasOwner(); + bool hasOwner() const; /// The name of the person or organization that 'owns' the asset. - IfcActorSelect Owner(); + IfcActorSelect Owner() const; void setOwner(IfcActorSelect v); /// Whether the optional attribute User is defined for this IfcAsset - bool hasUser(); + bool hasUser() const; /// The name of the person or organization that 'uses' the asset. - IfcActorSelect User(); + IfcActorSelect User() const; void setUser(IfcActorSelect v); /// Whether the optional attribute ResponsiblePerson is defined for this IfcAsset - bool hasResponsiblePerson(); + bool hasResponsiblePerson() const; /// 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(); + IfcPerson* ResponsiblePerson() const; void setResponsiblePerson(IfcPerson* v); /// Whether the optional attribute IncorporationDate is defined for this IfcAsset - bool hasIncorporationDate(); + bool hasIncorporationDate() const; /// 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. - IfcDate IncorporationDate(); + IfcDate IncorporationDate() const; void setIncorporationDate(IfcDate v); /// Whether the optional attribute DepreciatedValue is defined for this IfcAsset - bool hasDepreciatedValue(); + bool hasDepreciatedValue() const; /// The current value of an asset within the accounting rules and procedures of an organization. - IfcCostValue* DepreciatedValue(); + IfcCostValue* DepreciatedValue() const; void setDepreciatedValue(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; case 6: return "OriginalValue"; case 7: return "CurrentValue"; case 8: return "TotalReplacementCost"; case 9: return "Owner"; case 10: return "User"; case 11: return "ResponsiblePerson"; case 12: return "IncorporationDate"; case 13: return "DepreciatedValue"; } return IfcGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAsset (IfcAbstractEntityPtr e); + IfcAsset (IfcAbstractEntity* e); IfcAsset (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, boost::optional< IfcActorSelect > v10_Owner, boost::optional< IfcActorSelect > v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< IfcDate > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); - typedef IfcAsset* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAsset > > list; - typedef IfcTemplatedEntityList< IfcAsset >::it it; + 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: /// @@ -38662,20 +37474,18 @@ public: class IfcAudioVisualApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of audio-visual appliance from which the type required may be set. - IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType(); + IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAudioVisualApplianceType (IfcAbstractEntityPtr e); - IfcAudioVisualApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType); - typedef IfcAudioVisualApplianceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAudioVisualApplianceType > > list; - typedef IfcTemplatedEntityList< IfcAudioVisualApplianceType >::it it; + IfcAudioVisualApplianceType (IfcAbstractEntity* e); + IfcAudioVisualApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType); + 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. /// @@ -38729,32 +37539,30 @@ public: class IfcBSplineCurve : public IfcBoundedCurve { public: /// The algebraic degree of the basis functions. - int Degree(); + int Degree() const; void setDegree(int v); /// The list of control points for the curve. - SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > ControlPointsList(); - void setControlPointsList(SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v); + IfcTemplatedEntityList< IfcCartesianPoint >::ptr ControlPointsList() const; + void setControlPointsList(IfcTemplatedEntityList< IfcCartesianPoint >::ptr v); /// Used to identify particular types of curve; it is for information only. - IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm(); + IfcBSplineCurveForm::IfcBSplineCurveForm CurveForm() const; void setCurveForm(IfcBSplineCurveForm::IfcBSplineCurveForm v); /// Indication of whether the curve is closed; it is for information only. - bool ClosedCurve(); + bool ClosedCurve() const; void setClosedCurve(bool v); /// Indication whether the curve self-intersects or not; it is for information only. - bool SelfIntersect(); + bool SelfIntersect() const; void setSelfIntersect(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Degree"; case 1: return "ControlPointsList"; case 2: return "CurveForm"; case 3: return "ClosedCurve"; case 4: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBSplineCurve (IfcAbstractEntityPtr e); - IfcBSplineCurve (int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); - typedef IfcBSplineCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBSplineCurve > > list; - typedef IfcTemplatedEntityList< IfcBSplineCurve >::it it; + IfcBSplineCurve (IfcAbstractEntity* e); + IfcBSplineCurve (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect); + typedef IfcTemplatedEntityList< IfcBSplineCurve > list; }; /// Definition from ISO 10303:42:1994: This is the type of b-spline curve for which the knot values are explicitly given. This subtype shall be used to represent non-uniform B-spline curves and may be used for other knot types. /// @@ -38776,26 +37584,24 @@ public: 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(); + std::vector< int > /*[2:?]*/ KnotMultiplicities() const; void setKnotMultiplicities(std::vector< int > /*[2:?]*/ v); /// The list of distinct knots used to define the B-spline basis functions. - std::vector< IfcParameterValue > /*[2:?]*/ Knots(); + std::vector< IfcParameterValue > /*[2:?]*/ Knots() const; void setKnots(std::vector< IfcParameterValue > /*[2:?]*/ v); /// The description of the knot type. This is for information only. - IfcKnotType::IfcKnotType KnotSpec(); + IfcKnotType::IfcKnotType KnotSpec() const; void setKnotSpec(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "KnotMultiplicities"; case 6: return "Knots"; case 7: return "KnotSpec"; } return IfcBSplineCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBSplineCurveWithKnots (IfcAbstractEntityPtr e); - IfcBSplineCurveWithKnots (int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec); - typedef IfcBSplineCurveWithKnots* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBSplineCurveWithKnots > > list; - typedef IfcTemplatedEntityList< IfcBSplineCurveWithKnots >::it it; + IfcBSplineCurveWithKnots (IfcAbstractEntity* e); + IfcBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec); + typedef IfcTemplatedEntityList< IfcBSplineCurveWithKnots > list; }; /// Definition from IAI: The element type /// IfcBeamType defines commonly shared information for @@ -38898,20 +37704,18 @@ public: class IfcBeamType : public IfcBuildingElementType { public: /// Identifies the predefined types of a beam element from which the type required may be set. - IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType(); + IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBeamType (IfcAbstractEntityPtr e); - IfcBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); - typedef IfcBeamType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeamType > > list; - typedef IfcTemplatedEntityList< IfcBeamType >::it it; + IfcBeamType (IfcAbstractEntity* e); + IfcBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); + 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: /// @@ -38945,20 +37749,18 @@ public: class IfcBoilerType : public IfcEnergyConversionDeviceType { public: /// Defines types of boilers. - IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType(); + IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoilerType (IfcAbstractEntityPtr e); - IfcBoilerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); - typedef IfcBoilerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoilerType > > list; - typedef IfcTemplatedEntityList< IfcBoilerType >::it it; + IfcBoilerType (IfcAbstractEntity* e); + IfcBoilerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcBoilerType > list; }; /// Definition from ISO/CD 10303-42:1992ÿ A boundary curve /// is a type of bounded curve suitable for the definition of a @@ -38972,15 +37774,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcCompositeCurveOnSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcCompositeCurveOnSurface::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoundaryCurve (IfcAbstractEntityPtr e); - IfcBoundaryCurve (SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect); - typedef IfcBoundaryCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoundaryCurve > > list; - typedef IfcTemplatedEntityList< IfcBoundaryCurve >::it it; + IfcBoundaryCurve (IfcAbstractEntity* e); + IfcBoundaryCurve (IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect); + typedef IfcTemplatedEntityList< IfcBoundaryCurve > list; }; /// Definition from ISO 6707-1:1989: Major functional part /// of a building, examples are foundation, floor, roof, wall. @@ -39350,16 +38150,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > HasCoverings(); // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElement (IfcAbstractEntityPtr e); + IfcBuildingElement (IfcAbstractEntity* e); IfcBuildingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcBuildingElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElement > > list; - typedef IfcTemplatedEntityList< IfcBuildingElement >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; /// Definition from IAI: Layers or major components as subordinate /// parts of a building element. Typical usage examples include precast concrete @@ -39381,22 +38179,20 @@ public: class IfcBuildingElementPart : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementPart - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Subtype of building element part - IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType(); + IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementPart (IfcAbstractEntityPtr e); + IfcBuildingElementPart (IfcAbstractEntity* e); IfcBuildingElementPart (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType); - typedef IfcBuildingElementPart* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementPart > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementPart >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; }; /// Definition from IAI: The building element part type defines /// lists of commonly shared property set definitions and representation maps of parts of a building element. @@ -39405,20 +38201,18 @@ public: class IfcBuildingElementPartType : public IfcElementComponentType { public: /// Subtype of building element part - IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType(); + IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementPartType (IfcAbstractEntityPtr e); - IfcBuildingElementPartType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType); - typedef IfcBuildingElementPartType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementPartType > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementPartType >::it it; + IfcBuildingElementPartType (IfcAbstractEntity* e); + IfcBuildingElementPartType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcBuildingElementPartType > list; }; /// Definition from IAI: The IfcBuildingElementProxy /// is a proxy definition that provides the same functionality as an @@ -39613,21 +38407,19 @@ public: class IfcBuildingElementProxy : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcBuildingElementProxy - bool hasPredefinedType(); - IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementProxy (IfcAbstractEntityPtr e); + IfcBuildingElementProxy (IfcAbstractEntity* e); IfcBuildingElementProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType); - typedef IfcBuildingElementProxy* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementProxy > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementProxy >::it it; + typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; }; /// Definition from IAI: /// TheÿIfcBuildingElementProxyType defines a list of @@ -39666,20 +38458,18 @@ public: 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(); + IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcBuildingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingElementProxyType (IfcAbstractEntityPtr e); - IfcBuildingElementProxyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); - typedef IfcBuildingElementProxyType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingElementProxyType > > list; - typedef IfcTemplatedEntityList< IfcBuildingElementProxyType >::it it; + IfcBuildingElementProxyType (IfcAbstractEntity* e); + IfcBuildingElementProxyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcBuildingElementProxyType > list; }; /// Definition from IAI: A building system is a /// group by which building elements are group according to a common @@ -39720,22 +38510,20 @@ public: class IfcBuildingSystem : public IfcSystem { public: /// Whether the optional attribute PredefinedType is defined for this IfcBuildingSystem - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Predefined types of distribution systems. - IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum PredefinedType(); + IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; } return IfcSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBuildingSystem (IfcAbstractEntityPtr e); + IfcBuildingSystem (IfcAbstractEntity* e); IfcBuildingSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); - typedef IfcBuildingSystem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBuildingSystem > > list; - typedef IfcTemplatedEntityList< IfcBuildingSystem >::it it; + 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: /// @@ -39766,20 +38554,18 @@ public: /// The distribution ports relating to the IfcBurnerType type are defined by IfcDistributionPort and attached by the IfcRelConnectsPortToElement relationship. Ports are reflected at occurrences of this type using the IfcRelDefinesByObject relationship. Refer to the documentation at IfcBurner for standard port definitions. class IfcBurnerType : public IfcEnergyConversionDeviceType { public: - IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType(); + IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBurnerType (IfcAbstractEntityPtr e); - IfcBurnerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType); - typedef IfcBurnerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBurnerType > > list; - typedef IfcTemplatedEntityList< IfcBurnerType >::it it; + IfcBurnerType (IfcAbstractEntity* e); + IfcBurnerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType); + 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: /// @@ -39810,20 +38596,18 @@ public: class IfcCableCarrierFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable carrier fitting from which the type required may be set. - IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType(); + IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableCarrierFittingType (IfcAbstractEntityPtr e); - IfcCableCarrierFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); - typedef IfcCableCarrierFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierFittingType > > list; - typedef IfcTemplatedEntityList< IfcCableCarrierFittingType >::it it; + IfcCableCarrierFittingType (IfcAbstractEntity* e); + IfcCableCarrierFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); + 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: /// @@ -39860,20 +38644,18 @@ public: class IfcCableCarrierSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable carrier segment from which the type required may be set. - IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType(); + IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableCarrierSegmentType (IfcAbstractEntityPtr e); - IfcCableCarrierSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); - typedef IfcCableCarrierSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierSegmentType > > list; - typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType >::it it; + IfcCableCarrierSegmentType (IfcAbstractEntity* e); + IfcCableCarrierSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); + 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: /// @@ -39906,20 +38688,18 @@ public: class IfcCableFittingType : public IfcFlowFittingType { public: /// Identifies the predefined types of cable fitting from which the type required may be set. - IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType(); + IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableFittingType (IfcAbstractEntityPtr e); - IfcCableFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType); - typedef IfcCableFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableFittingType > > list; - typedef IfcTemplatedEntityList< IfcCableFittingType >::it it; + IfcCableFittingType (IfcAbstractEntity* e); + IfcCableFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType); + 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: /// @@ -39965,20 +38745,18 @@ public: class IfcCableSegmentType : public IfcFlowSegmentType { public: /// Identifies the predefined types of cable segment from which the type required may be set. - IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType(); + IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableSegmentType (IfcAbstractEntityPtr e); - IfcCableSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); - typedef IfcCableSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableSegmentType > > list; - typedef IfcTemplatedEntityList< IfcCableSegmentType >::it it; + IfcCableSegmentType (IfcAbstractEntity* e); + IfcCableSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); + 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: /// @@ -40015,20 +38793,18 @@ public: class IfcChillerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of chillers (e.g., air-cooled, water-cooled, etc.). - IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType(); + IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcChillerType (IfcAbstractEntityPtr e); - IfcChillerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); - typedef IfcChillerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcChillerType > > list; - typedef IfcTemplatedEntityList< IfcChillerType >::it it; + IfcChillerType (IfcAbstractEntity* e); + IfcChillerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcChillerType > list; }; /// Definition from ISO 6707-1:1989: Construction /// containing one or more flues. Flue: Duct designed to convey the @@ -40074,23 +38850,21 @@ public: class IfcChimney : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcChimney - bool hasPredefinedType(); + 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(); + IfcChimneyTypeEnum::IfcChimneyTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcChimney (IfcAbstractEntityPtr e); + IfcChimney (IfcAbstractEntity* e); IfcChimney (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType); - typedef IfcChimney* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcChimney > > list; - typedef IfcTemplatedEntityList< IfcChimney >::it it; + 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: /// @@ -40122,20 +38896,18 @@ public: class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. - IfcPositiveLengthMeasure Radius(); + IfcPositiveLengthMeasure Radius() const; void setRadius(IfcPositiveLengthMeasure v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcConic::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCircle (IfcAbstractEntityPtr e); + IfcCircle (IfcAbstractEntity* e); IfcCircle (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius); - typedef IfcCircle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCircle > > list; - typedef IfcTemplatedEntityList< IfcCircle >::it it; + typedef IfcTemplatedEntityList< IfcCircle > list; }; class IfcCivilElement : public IfcElement { @@ -40143,15 +38915,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCivilElement (IfcAbstractEntityPtr e); + IfcCivilElement (IfcAbstractEntity* e); IfcCivilElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcCivilElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCivilElement > > list; - typedef IfcTemplatedEntityList< IfcCivilElement >::it it; + 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: /// @@ -40183,20 +38953,18 @@ public: class IfcCoilType : public IfcEnergyConversionDeviceType { public: /// Defines typical types of coils (e.g., Cooling, Heating, etc.) - IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType(); + IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoilType (IfcAbstractEntityPtr e); - IfcCoilType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); - typedef IfcCoilType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoilType > > list; - typedef IfcTemplatedEntityList< IfcCoilType >::it it; + IfcCoilType (IfcAbstractEntity* e); + IfcCoilType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCoilType > list; }; /// Definition from ISO 6707-1:1989: Structural member of /// slender form, usually vertical, that transmits to its base the @@ -40472,25 +39240,23 @@ public: class IfcColumn : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcColumn - bool hasPredefinedType(); + 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(); + IfcColumnTypeEnum::IfcColumnTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColumn (IfcAbstractEntityPtr e); + IfcColumn (IfcAbstractEntity* e); IfcColumn (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); - typedef IfcColumn* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumn > > list; - typedef IfcTemplatedEntityList< IfcColumn >::it it; + typedef IfcTemplatedEntityList< IfcColumn > list; }; /// The standard column, /// IfcColumnStandardCase, defines a column with certain @@ -40742,15 +39508,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcColumn::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcColumn::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcColumnStandardCase (IfcAbstractEntityPtr e); + IfcColumnStandardCase (IfcAbstractEntity* e); IfcColumnStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); - typedef IfcColumnStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcColumnStandardCase > > list; - typedef IfcTemplatedEntityList< IfcColumnStandardCase >::it it; + 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: /// @@ -40787,20 +39551,18 @@ public: class IfcCommunicationsApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of communications appliance from which the type required may be set. - IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType(); + IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCommunicationsApplianceType (IfcAbstractEntityPtr e); - IfcCommunicationsApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType); - typedef IfcCommunicationsApplianceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCommunicationsApplianceType > > list; - typedef IfcTemplatedEntityList< IfcCommunicationsApplianceType >::it it; + IfcCommunicationsApplianceType (IfcAbstractEntity* e); + IfcCommunicationsApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType); + 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: /// @@ -40832,20 +39594,18 @@ public: class IfcCompressorType : public IfcFlowMovingDeviceType { public: /// Defines the type of compressor (e.g., hermetic, reciprocating, etc.). - IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType(); + IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowMovingDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompressorType (IfcAbstractEntityPtr e); - IfcCompressorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); - typedef IfcCompressorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompressorType > > list; - typedef IfcTemplatedEntityList< IfcCompressorType >::it it; + IfcCompressorType (IfcAbstractEntity* e); + IfcCompressorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); + 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: /// @@ -40877,20 +39637,18 @@ public: class IfcCondenserType : public IfcEnergyConversionDeviceType { public: /// Defines the type of condenser. - IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType(); + IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCondenserType (IfcAbstractEntityPtr e); - IfcCondenserType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); - typedef IfcCondenserType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCondenserType > > list; - typedef IfcTemplatedEntityList< IfcCondenserType >::it it; + IfcCondenserType (IfcAbstractEntity* e); + IfcCondenserType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); + 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. /// @@ -40917,23 +39675,21 @@ public: class IfcConstructionEquipmentResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionEquipmentResource - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Defines types of construction equipment resources. /// IFC2x4 New attribute - IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType(); + IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "PredefinedType"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionEquipmentResource (IfcAbstractEntityPtr e); - IfcConstructionEquipmentResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType); - typedef IfcConstructionEquipmentResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionEquipmentResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource >::it it; + IfcConstructionEquipmentResource (IfcAbstractEntity* e); + IfcConstructionEquipmentResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType); + typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. /// @@ -40964,23 +39720,21 @@ public: class IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionMaterialResource - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Defines types of construction material resources. /// IFC2x4 New attribute - IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType(); + IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "PredefinedType"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionMaterialResource (IfcAbstractEntityPtr e); - IfcConstructionMaterialResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType); - typedef IfcConstructionMaterialResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionMaterialResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionMaterialResource >::it it; + IfcConstructionMaterialResource (IfcAbstractEntity* e); + IfcConstructionMaterialResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType); + typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. /// @@ -41000,23 +39754,21 @@ public: class IfcConstructionProductResource : public IfcConstructionResource { public: /// Whether the optional attribute PredefinedType is defined for this IfcConstructionProductResource - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Defines types of construction product resources. /// IFC2x4 New attribute - IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType(); + IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "PredefinedType"; } return IfcConstructionResource::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcConstructionProductResource (IfcAbstractEntityPtr e); - IfcConstructionProductResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcAppliedValue > > > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType); - typedef IfcConstructionProductResource* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcConstructionProductResource > > list; - typedef IfcTemplatedEntityList< IfcConstructionProductResource >::it it; + IfcConstructionProductResource (IfcAbstractEntity* e); + IfcConstructionProductResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType); + 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: /// @@ -41050,20 +39802,18 @@ public: class IfcCooledBeamType : public IfcEnergyConversionDeviceType { public: /// Defines the type of cooled beam. - IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType(); + IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCooledBeamType (IfcAbstractEntityPtr e); - IfcCooledBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); - typedef IfcCooledBeamType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCooledBeamType > > list; - typedef IfcTemplatedEntityList< IfcCooledBeamType >::it it; + IfcCooledBeamType (IfcAbstractEntity* e); + IfcCooledBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); + 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: /// @@ -41101,20 +39851,18 @@ public: class IfcCoolingTowerType : public IfcEnergyConversionDeviceType { public: /// Defines the typical types of cooling towers (e.g., OpenTower, ClosedTower, CrossFlow, etc.). - IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType(); + IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoolingTowerType (IfcAbstractEntityPtr e); - IfcCoolingTowerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); - typedef IfcCoolingTowerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoolingTowerType > > list; - typedef IfcTemplatedEntityList< IfcCoolingTowerType >::it it; + IfcCoolingTowerType (IfcAbstractEntity* e); + IfcCoolingTowerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcCoolingTowerType > list; }; /// Definition from ISO 6707-1:1989: term used: Finishing - /// final coverings and treatments of surfaces and their @@ -41343,24 +40091,22 @@ public: class IfcCovering : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCovering - bool hasPredefinedType(); + 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(); + IfcCoveringTypeEnum::IfcCoveringTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversSpaces > > CoversSpaces(); // INVERSE IfcRelCoversSpaces::RelatedCoverings - SHARED_PTR< IfcTemplatedEntityList< IfcRelCoversBldgElements > > CoversElements(); // INVERSE IfcRelCoversBldgElements::RelatedCoverings + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelCoversSpaces >::ptr CoversSpaces() const; // INVERSE IfcRelCoversSpaces::RelatedCoverings + IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr CoversElements() const; // INVERSE IfcRelCoversBldgElements::RelatedCoverings bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCovering (IfcAbstractEntityPtr e); + IfcCovering (IfcAbstractEntity* e); IfcCovering (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); - typedef IfcCovering* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCovering > > list; - typedef IfcTemplatedEntityList< IfcCovering >::it it; + typedef IfcTemplatedEntityList< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall /// positioned on the outside of a building and enclosing it. @@ -41503,25 +40249,23 @@ public: class IfcCurtainWall : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcCurtainWall - bool hasPredefinedType(); + 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(); + IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCurtainWall (IfcAbstractEntityPtr e); + IfcCurtainWall (IfcAbstractEntity* e); IfcCurtainWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType); - typedef IfcCurtainWall* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCurtainWall > > list; - typedef IfcTemplatedEntityList< IfcCurtainWall >::it it; + typedef IfcTemplatedEntityList< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: /// @@ -41560,20 +40304,18 @@ public: class IfcDamperType : public IfcFlowControllerType { public: /// Type of damper. - IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType(); + IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDamperType (IfcAbstractEntityPtr e); - IfcDamperType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); - typedef IfcDamperType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDamperType > > list; - typedef IfcTemplatedEntityList< IfcDamperType >::it it; + IfcDamperType (IfcAbstractEntity* e); + IfcDamperType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcDamperType > list; }; /// Definition from IAI: Representation of different kinds of /// accessories included in or added to elements. @@ -41751,22 +40493,20 @@ public: class IfcDiscreteAccessory : public IfcElementComponent { public: /// Whether the optional attribute PredefinedType is defined for this IfcDiscreteAccessory - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Subtype of discrete accessory - IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType(); + IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcElementComponent::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDiscreteAccessory (IfcAbstractEntityPtr e); + IfcDiscreteAccessory (IfcAbstractEntity* e); IfcDiscreteAccessory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType); - typedef IfcDiscreteAccessory* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiscreteAccessory > > list; - typedef IfcTemplatedEntityList< IfcDiscreteAccessory >::it it; + typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type /// (IfcDiscreteAccessoryType) defines a list of commonly shared property @@ -41959,20 +40699,18 @@ public: class IfcDiscreteAccessoryType : public IfcElementComponentType { public: /// Subtype of discrete accessory - IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType(); + IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcElementComponentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDiscreteAccessoryType (IfcAbstractEntityPtr e); - IfcDiscreteAccessoryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType); - typedef IfcDiscreteAccessoryType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDiscreteAccessoryType > > list; - typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType >::it it; + IfcDiscreteAccessoryType (IfcAbstractEntity* e); + IfcDiscreteAccessoryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType); + 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: /// @@ -42014,20 +40752,18 @@ public: class IfcDistributionChamberElementType : public IfcDistributionFlowElementType { public: /// Predefined types of distribution chambers. - IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType(); + IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionFlowElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionChamberElementType (IfcAbstractEntityPtr e); - IfcDistributionChamberElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); - typedef IfcDistributionChamberElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionChamberElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionChamberElementType >::it it; + IfcDistributionChamberElementType (IfcAbstractEntity* e); + IfcDistributionChamberElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); + 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). /// @@ -42088,15 +40824,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionControlElementType (IfcAbstractEntityPtr e); - IfcDistributionControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); - typedef IfcDistributionControlElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElementType > > list; - typedef IfcTemplatedEntityList< IfcDistributionControlElementType >::it it; + IfcDistributionControlElementType (IfcAbstractEntity* e); + IfcDistributionControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + typedef IfcTemplatedEntityList< IfcDistributionControlElementType > list; }; /// Definition from IAI: Generalization of all elements /// that participate in a distribution system. Typical examples of @@ -42265,16 +40999,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelConnectsPortToElement > > HasPorts(); // INVERSE IfcRelConnectsPortToElement::RelatedElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelConnectsPortToElement >::ptr HasPorts() const; // INVERSE IfcRelConnectsPortToElement::RelatedElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionElement (IfcAbstractEntityPtr e); + IfcDistributionElement (IfcAbstractEntity* e); IfcDistributionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDistributionElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionElement >::it it; + 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. /// @@ -42349,16 +41081,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > HasControlElements(); // INVERSE IfcRelFlowControlElements::RelatingFlowElement + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFlowControlElements >::ptr HasControlElements() const; // INVERSE IfcRelFlowControlElements::RelatingFlowElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionFlowElement (IfcAbstractEntityPtr e); + IfcDistributionFlowElement (IfcAbstractEntity* e); IfcDistributionFlowElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDistributionFlowElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionFlowElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionFlowElement >::it it; + typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. /// @@ -42445,31 +41175,29 @@ public: class IfcDistributionPort : public IfcPort { public: /// Whether the optional attribute FlowDirection is defined for this IfcDistributionPort - bool hasFlowDirection(); + bool hasFlowDirection() const; /// Enumeration that identifies if this port is a Sink (inlet), a Source (outlet) or both a SinkAndSource. - IfcFlowDirectionEnum::IfcFlowDirectionEnum FlowDirection(); + IfcFlowDirectionEnum::IfcFlowDirectionEnum FlowDirection() const; void setFlowDirection(IfcFlowDirectionEnum::IfcFlowDirectionEnum v); /// Whether the optional attribute PredefinedType is defined for this IfcDistributionPort - bool hasPredefinedType(); + bool hasPredefinedType() const; /// 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(); + IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum PredefinedType() const; void setPredefinedType(IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum v); /// Whether the optional attribute SystemType is defined for this IfcDistributionPort - bool hasSystemType(); - IfcDistributionSystemEnum::IfcDistributionSystemEnum SystemType(); + bool hasSystemType() const; + IfcDistributionSystemEnum::IfcDistributionSystemEnum SystemType() const; void setSystemType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "FlowDirection"; case 8: return "PredefinedType"; case 9: return "SystemType"; } return IfcPort::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionPort (IfcAbstractEntityPtr e); + IfcDistributionPort (IfcAbstractEntity* e); IfcDistributionPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType); - typedef IfcDistributionPort* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionPort > > list; - typedef IfcTemplatedEntityList< IfcDistributionPort >::it it; + 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. /// @@ -42514,29 +41242,27 @@ public: class IfcDistributionSystem : public IfcSystem { public: /// Whether the optional attribute LongName is defined for this IfcDistributionSystem - bool hasLongName(); + 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. - IfcLabel LongName(); + IfcLabel LongName() const; void setLongName(IfcLabel v); /// Whether the optional attribute PredefinedType is defined for this IfcDistributionSystem - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Predefined types of distribution systems. - IfcDistributionSystemEnum::IfcDistributionSystemEnum PredefinedType(); + IfcDistributionSystemEnum::IfcDistributionSystemEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "LongName"; case 6: return "PredefinedType"; } return IfcSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionSystem (IfcAbstractEntityPtr e); + IfcDistributionSystem (IfcAbstractEntity* e); IfcDistributionSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); - typedef IfcDistributionSystem* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionSystem > > list; - typedef IfcTemplatedEntityList< IfcDistributionSystem >::it it; + typedef IfcTemplatedEntityList< IfcDistributionSystem > list; }; /// Definition from ISO 6707-1:1989: Construction for /// closing an opening, intended primarily for access with hinged, @@ -42897,52 +41623,50 @@ public: class IfcDoor : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcDoor - bool hasOverallHeight(); + 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. - IfcPositiveLengthMeasure OverallHeight(); + IfcPositiveLengthMeasure OverallHeight() const; void setOverallHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute OverallWidth is defined for this IfcDoor - bool hasOverallWidth(); + bool hasOverallWidth() const; /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the door opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the door is inserted. /// /// NOTE  The body of the door might be wider then the door opening (e.g. in cases where the door lining includes a casing). In these cases the OverallWidth shall still be given as the door opening width, and not as the total width of the door lining. - IfcPositiveLengthMeasure OverallWidth(); + IfcPositiveLengthMeasure OverallWidth() const; void setOverallWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute PredefinedType is defined for this IfcDoor - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Predefined generic type for a door that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// 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(); + IfcDoorTypeEnum::IfcDoorTypeEnum PredefinedType() const; void setPredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v); /// Whether the optional attribute OperationType is defined for this IfcDoor - bool hasOperationType(); + bool hasOperationType() const; /// 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(); + IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum OperationType() const; void setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v); /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoor - bool hasUserDefinedOperationType(); - IfcLabel UserDefinedOperationType(); + bool hasUserDefinedOperationType() const; + IfcLabel UserDefinedOperationType() const; void setUserDefinedOperationType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; case 10: return "PredefinedType"; case 11: return "OperationType"; case 12: return "UserDefinedOperationType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoor (IfcAbstractEntityPtr e); + IfcDoor (IfcAbstractEntity* e); IfcDoor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType); - typedef IfcDoor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoor > > list; - typedef IfcTemplatedEntityList< IfcDoor >::it it; + typedef IfcTemplatedEntityList< IfcDoor > list; }; /// The standard door, /// IfcDoorStandardCase, defines a door with certain constraints @@ -43053,15 +41777,13 @@ public: virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDoor::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDoor::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDoorStandardCase (IfcAbstractEntityPtr e); + IfcDoorStandardCase (IfcAbstractEntity* e); IfcDoorStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType); - typedef IfcDoorStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDoorStandardCase > > list; - typedef IfcTemplatedEntityList< IfcDoorStandardCase >::it it; + 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: /// @@ -43095,20 +41817,18 @@ public: class IfcDuctFittingType : public IfcFlowFittingType { public: /// The type of duct fitting. - IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType(); + IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowFittingType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctFittingType (IfcAbstractEntityPtr e); - IfcDuctFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); - typedef IfcDuctFittingType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctFittingType > > list; - typedef IfcTemplatedEntityList< IfcDuctFittingType >::it it; + IfcDuctFittingType (IfcAbstractEntity* e); + IfcDuctFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); + 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: /// @@ -43142,20 +41862,18 @@ public: class IfcDuctSegmentType : public IfcFlowSegmentType { public: /// The type of duct segment. - IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType(); + IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowSegmentType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctSegmentType (IfcAbstractEntityPtr e); - IfcDuctSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); - typedef IfcDuctSegmentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSegmentType > > list; - typedef IfcTemplatedEntityList< IfcDuctSegmentType >::it it; + IfcDuctSegmentType (IfcAbstractEntity* e); + IfcDuctSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); + 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: /// @@ -43186,20 +41904,18 @@ public: class IfcDuctSilencerType : public IfcFlowTreatmentDeviceType { public: /// The type of duct silencer. - IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType(); + IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTreatmentDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctSilencerType (IfcAbstractEntityPtr e); - IfcDuctSilencerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); - typedef IfcDuctSilencerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSilencerType > > list; - typedef IfcTemplatedEntityList< IfcDuctSilencerType >::it it; + IfcDuctSilencerType (IfcAbstractEntity* e); + IfcDuctSilencerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); + 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: /// @@ -43233,20 +41949,18 @@ public: class IfcElectricApplianceType : public IfcFlowTerminalType { public: /// Identifies the predefined types of electrical appliance from which the type required may be set. - IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType(); + IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricApplianceType (IfcAbstractEntityPtr e); - IfcElectricApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); - typedef IfcElectricApplianceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricApplianceType > > list; - typedef IfcTemplatedEntityList< IfcElectricApplianceType >::it it; + IfcElectricApplianceType (IfcAbstractEntity* e); + IfcElectricApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); + 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: /// @@ -43278,20 +41992,18 @@ public: class IfcElectricDistributionBoardType : public IfcFlowControllerType { public: /// Identifies the predefined types of electric distribution type from which the type required may be set. - IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType(); + IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricDistributionBoardType (IfcAbstractEntityPtr e); - IfcElectricDistributionBoardType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType); - typedef IfcElectricDistributionBoardType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricDistributionBoardType > > list; - typedef IfcTemplatedEntityList< IfcElectricDistributionBoardType >::it it; + IfcElectricDistributionBoardType (IfcAbstractEntity* e); + IfcElectricDistributionBoardType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType); + 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: /// @@ -43323,20 +42035,18 @@ public: 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(); + IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowStorageDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricFlowStorageDeviceType (IfcAbstractEntityPtr e); - IfcElectricFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); - typedef IfcElectricFlowStorageDeviceType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > > list; - typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType >::it it; + IfcElectricFlowStorageDeviceType (IfcAbstractEntity* e); + IfcElectricFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); + 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: /// @@ -43373,20 +42083,18 @@ public: class IfcElectricGeneratorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric generators from which the type required may be set. - IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType(); + IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricGeneratorType (IfcAbstractEntityPtr e); - IfcElectricGeneratorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); - typedef IfcElectricGeneratorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricGeneratorType > > list; - typedef IfcTemplatedEntityList< IfcElectricGeneratorType >::it it; + IfcElectricGeneratorType (IfcAbstractEntity* e); + IfcElectricGeneratorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); + 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: /// @@ -43418,20 +42126,18 @@ public: class IfcElectricMotorType : public IfcEnergyConversionDeviceType { public: /// Identifies the predefined types of electric motor from which the type required may be set. - IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType(); + IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcEnergyConversionDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricMotorType (IfcAbstractEntityPtr e); - IfcElectricMotorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); - typedef IfcElectricMotorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricMotorType > > list; - typedef IfcTemplatedEntityList< IfcElectricMotorType >::it it; + IfcElectricMotorType (IfcAbstractEntity* e); + IfcElectricMotorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); + 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: /// @@ -43463,20 +42169,18 @@ public: class IfcElectricTimeControlType : public IfcFlowControllerType { public: /// Identifies the predefined types of electrical time control from which the type required may be set. - IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType(); + IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowControllerType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricTimeControlType (IfcAbstractEntityPtr e); - IfcElectricTimeControlType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); - typedef IfcElectricTimeControlType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricTimeControlType > > list; - typedef IfcTemplatedEntityList< IfcElectricTimeControlType >::it it; + IfcElectricTimeControlType (IfcAbstractEntity* e); + IfcElectricTimeControlType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; }; /// The distribution flow element IfcEnergyConversionDevice defines /// the occurrence of a device used to perform @@ -43492,15 +42196,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEnergyConversionDevice (IfcAbstractEntityPtr e); + IfcEnergyConversionDevice (IfcAbstractEntity* e); IfcEnergyConversionDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcEnergyConversionDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEnergyConversionDevice > > list; - typedef IfcTemplatedEntityList< IfcEnergyConversionDevice >::it it; + typedef IfcTemplatedEntityList< IfcEnergyConversionDevice > list; }; /// An engine is a device that converts fuel into mechanical energy through combustion. /// @@ -43546,21 +42248,19 @@ public: class IfcEngine : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEngine - bool hasPredefinedType(); - IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcEngineTypeEnum::IfcEngineTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEngine (IfcAbstractEntityPtr e); + IfcEngine (IfcAbstractEntity* e); IfcEngine (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType); - typedef IfcEngine* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEngine > > list; - typedef IfcTemplatedEntityList< IfcEngine >::it it; + typedef IfcTemplatedEntityList< IfcEngine > list; }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. /// @@ -43609,21 +42309,19 @@ public: class IfcEvaporativeCooler : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvaporativeCooler - bool hasPredefinedType(); - IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvaporativeCooler (IfcAbstractEntityPtr e); + IfcEvaporativeCooler (IfcAbstractEntity* e); IfcEvaporativeCooler (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType); - typedef IfcEvaporativeCooler* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporativeCooler > > list; - typedef IfcTemplatedEntityList< IfcEvaporativeCooler >::it it; + typedef IfcTemplatedEntityList< IfcEvaporativeCooler > list; }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. /// @@ -43692,21 +42390,19 @@ public: class IfcEvaporator : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcEvaporator - bool hasPredefinedType(); - IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcEvaporator (IfcAbstractEntityPtr e); + IfcEvaporator (IfcAbstractEntity* e); IfcEvaporator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType); - typedef IfcEvaporator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcEvaporator > > list; - typedef IfcTemplatedEntityList< IfcEvaporator >::it it; + typedef IfcTemplatedEntityList< IfcEvaporator > list; }; /// Definition from IAI: The external spatial element /// defines external regions at the building site. Those regions can @@ -43726,23 +42422,21 @@ public: class IfcExternalSpatialElement : public IfcExternalSpatialStructureElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcExternalSpatialElement - bool hasPredefinedType(); + 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(); + IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcExternalSpatialStructureElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelSpaceBoundary > > BoundedBy(); // INVERSE IfcRelSpaceBoundary::RelatingSpace + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr BoundedBy() const; // INVERSE IfcRelSpaceBoundary::RelatingSpace bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcExternalSpatialElement (IfcAbstractEntityPtr e); + IfcExternalSpatialElement (IfcAbstractEntity* e); IfcExternalSpatialElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType); - typedef IfcExternalSpatialElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcExternalSpatialElement > > list; - typedef IfcTemplatedEntityList< IfcExternalSpatialElement >::it it; + 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: /// @@ -43775,20 +42469,18 @@ public: class IfcFanType : public IfcFlowMovingDeviceType { public: /// Defines the type of fan typically used in building services. - IfcFanTypeEnum::IfcFanTypeEnum PredefinedType(); + IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowMovingDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFanType (IfcAbstractEntityPtr e); - IfcFanType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); - typedef IfcFanType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFanType > > list; - typedef IfcTemplatedEntityList< IfcFanType >::it it; + IfcFanType (IfcAbstractEntity* e); + IfcFanType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); + 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: /// @@ -43822,20 +42514,18 @@ public: class IfcFilterType : public IfcFlowTreatmentDeviceType { public: /// The type of air filter. - IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType(); + IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTreatmentDeviceType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFilterType (IfcAbstractEntityPtr e); - IfcFilterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); - typedef IfcFilterType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFilterType > > list; - typedef IfcTemplatedEntityList< IfcFilterType >::it it; + IfcFilterType (IfcAbstractEntity* e); + IfcFilterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); + 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: /// @@ -43873,20 +42563,18 @@ public: class IfcFireSuppressionTerminalType : public IfcFlowTerminalType { public: /// Identifies the predefined types of fire suppression terminal from which the type required may be set. - IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType(); + IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcFlowTerminalType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFireSuppressionTerminalType (IfcAbstractEntityPtr e); - IfcFireSuppressionTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); - typedef IfcFireSuppressionTerminalType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFireSuppressionTerminalType > > list; - typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType >::it it; + IfcFireSuppressionTerminalType (IfcAbstractEntity* e); + IfcFireSuppressionTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType > list; }; /// The distribution flow element IfcFlowController defines /// the occurrence of elements of a distribution system that @@ -43902,15 +42590,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowController (IfcAbstractEntityPtr e); + IfcFlowController (IfcAbstractEntity* e); IfcFlowController (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowController* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowController > > list; - typedef IfcTemplatedEntityList< IfcFlowController >::it it; + 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. /// @@ -43922,15 +42608,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowFitting (IfcAbstractEntityPtr e); + IfcFlowFitting (IfcAbstractEntity* e); IfcFlowFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowFitting > > list; - typedef IfcTemplatedEntityList< IfcFlowFitting >::it it; + 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: /// @@ -43965,20 +42649,18 @@ public: class IfcFlowInstrumentType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of flow instrument from which the type required may be set. - IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType(); + IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowInstrumentType (IfcAbstractEntityPtr e); - IfcFlowInstrumentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); - typedef IfcFlowInstrumentType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowInstrumentType > > list; - typedef IfcTemplatedEntityList< IfcFlowInstrumentType >::it it; + IfcFlowInstrumentType (IfcAbstractEntity* e); + IfcFlowInstrumentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcFlowInstrumentType > list; }; /// A flow meter is a device that is used to measure the flow rate in a system. /// @@ -44063,21 +42745,19 @@ public: class IfcFlowMeter : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcFlowMeter - bool hasPredefinedType(); - IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMeter (IfcAbstractEntityPtr e); + IfcFlowMeter (IfcAbstractEntity* e); IfcFlowMeter (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType); - typedef IfcFlowMeter* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMeter > > list; - typedef IfcTemplatedEntityList< IfcFlowMeter >::it it; + 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. /// @@ -44089,15 +42769,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowMovingDevice (IfcAbstractEntityPtr e); + IfcFlowMovingDevice (IfcAbstractEntity* e); IfcFlowMovingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowMovingDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowMovingDevice > > list; - typedef IfcTemplatedEntityList< IfcFlowMovingDevice >::it it; + typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. /// @@ -44127,15 +42805,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowSegment (IfcAbstractEntityPtr e); + IfcFlowSegment (IfcAbstractEntity* e); IfcFlowSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowSegment > > list; - typedef IfcTemplatedEntityList< IfcFlowSegment >::it it; + typedef IfcTemplatedEntityList< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines /// the occurrence of a device that participates in a distribution @@ -44152,15 +42828,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowStorageDevice (IfcAbstractEntityPtr e); + IfcFlowStorageDevice (IfcAbstractEntity* e); IfcFlowStorageDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowStorageDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowStorageDevice > > list; - typedef IfcTemplatedEntityList< IfcFlowStorageDevice >::it it; + typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the /// occurrence of a permanently attached element that acts as a terminus or @@ -44178,15 +42852,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTerminal (IfcAbstractEntityPtr e); + IfcFlowTerminal (IfcAbstractEntity* e); IfcFlowTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTerminal > > list; - typedef IfcTemplatedEntityList< IfcFlowTerminal >::it it; + 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. /// @@ -44198,15 +42870,13 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionFlowElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowTreatmentDevice (IfcAbstractEntityPtr e); + IfcFlowTreatmentDevice (IfcAbstractEntity* e); IfcFlowTreatmentDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcFlowTreatmentDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowTreatmentDevice > > list; - typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice >::it it; + 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. /// @@ -44233,24 +42903,22 @@ public: class IfcFooting : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcFooting - bool hasPredefinedType(); + 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(); + IfcFootingTypeEnum::IfcFootingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFooting (IfcAbstractEntityPtr e); + IfcFooting (IfcAbstractEntity* e); IfcFooting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType); - typedef IfcFooting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFooting > > list; - typedef IfcTemplatedEntityList< IfcFooting >::it it; + 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. /// IfcHeatExchanger is commonly used on water-side distribution systems to recover energy from a liquid to another liquid (typically water-based), whereas IfcAirToAirHeatRecovery is commonly used on air-side distribution systems to recover energy from a gas to a gas (usually air). @@ -44305,21 +42973,19 @@ public: class IfcHeatExchanger : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcHeatExchanger - bool hasPredefinedType(); - IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHeatExchanger (IfcAbstractEntityPtr e); + IfcHeatExchanger (IfcAbstractEntity* e); IfcHeatExchanger (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType); - typedef IfcHeatExchanger* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHeatExchanger > > list; - typedef IfcTemplatedEntityList< IfcHeatExchanger >::it it; + typedef IfcTemplatedEntityList< IfcHeatExchanger > list; }; /// A humidifier is a device that adds moisture into the air. /// @@ -44367,21 +43033,19 @@ public: class IfcHumidifier : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcHumidifier - bool hasPredefinedType(); - IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcHumidifierTypeEnum::IfcHumidifierTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcHumidifier (IfcAbstractEntityPtr e); + IfcHumidifier (IfcAbstractEntity* e); IfcHumidifier (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType); - typedef IfcHumidifier* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcHumidifier > > list; - typedef IfcTemplatedEntityList< IfcHumidifier >::it it; + 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. /// @@ -44443,21 +43107,19 @@ public: class IfcInterceptor : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcInterceptor - bool hasPredefinedType(); - IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcInterceptorTypeEnum::IfcInterceptorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTreatmentDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcInterceptor (IfcAbstractEntityPtr e); + IfcInterceptor (IfcAbstractEntity* e); IfcInterceptor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType); - typedef IfcInterceptor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcInterceptor > > list; - typedef IfcTemplatedEntityList< IfcInterceptor >::it it; + typedef IfcTemplatedEntityList< IfcInterceptor > list; }; /// A junction box is an enclosure within which cables are connected. /// Cables may be members of an electrical circuit (for electrical power systems) or be information carriers (in a telecommunications system). A junction box is typically intended to conceal a cable junction from sight, eliminate tampering or provide a safe place for electrical connection. @@ -44528,21 +43190,19 @@ public: class IfcJunctionBox : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcJunctionBox - bool hasPredefinedType(); - IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowFitting::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcJunctionBox (IfcAbstractEntityPtr e); + IfcJunctionBox (IfcAbstractEntity* e); IfcJunctionBox (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType); - typedef IfcJunctionBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcJunctionBox > > list; - typedef IfcTemplatedEntityList< IfcJunctionBox >::it it; + typedef IfcTemplatedEntityList< IfcJunctionBox > list; }; /// A lamp is an artificial light source such as a light bulb or tube. /// @@ -44594,21 +43254,19 @@ public: class IfcLamp : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcLamp - bool hasPredefinedType(); - IfcLampTypeEnum::IfcLampTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcLampTypeEnum::IfcLampTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLamp (IfcAbstractEntityPtr e); + IfcLamp (IfcAbstractEntity* e); IfcLamp (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType); - typedef IfcLamp* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLamp > > list; - typedef IfcTemplatedEntityList< IfcLamp >::it it; + 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. /// @@ -44679,21 +43337,19 @@ public: class IfcLightFixture : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcLightFixture - bool hasPredefinedType(); - IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcLightFixture (IfcAbstractEntityPtr e); + IfcLightFixture (IfcAbstractEntity* e); IfcLightFixture (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType); - typedef IfcLightFixture* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcLightFixture > > list; - typedef IfcTemplatedEntityList< IfcLightFixture >::it it; + 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. /// Outlets for medical gasses should use IfcValve with PredefinedType equal to GASTAP, containing an IfcDistributionPort with FlowDirection=SINK and PredefinedType equal to COMPRESSEDAIR, VACUUM, or CHEMICAL, and having property sets on the port further indicating the gas type and pressure. Tanks for medical gasses should use IfcTank with PredefinedType equal to PRESSUREVESSEL, containing an IfcDistributionPort with FlowDirection=SOURCE and PredefinedType=CHEMICAL, and having property sets on the port further indicating the gas type and pressure range. @@ -44742,21 +43398,19 @@ public: class IfcMedicalDevice : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcMedicalDevice - bool hasPredefinedType(); - IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMedicalDevice (IfcAbstractEntityPtr e); + IfcMedicalDevice (IfcAbstractEntity* e); IfcMedicalDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType); - typedef IfcMedicalDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMedicalDevice > > list; - typedef IfcTemplatedEntityList< IfcMedicalDevice >::it it; + typedef IfcTemplatedEntityList< IfcMedicalDevice > list; }; /// An IfcMember is a /// structural member designed to carry loads between or beyond @@ -45011,25 +43665,23 @@ public: class IfcMember : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcMember - bool hasPredefinedType(); + 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(); + IfcMemberTypeEnum::IfcMemberTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMember (IfcAbstractEntityPtr e); + IfcMember (IfcAbstractEntity* e); IfcMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); - typedef IfcMember* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMember > > list; - typedef IfcTemplatedEntityList< IfcMember >::it it; + typedef IfcTemplatedEntityList< IfcMember > list; }; /// The standard member, /// IfcMemberStandardCase, defines a member with certain @@ -45275,15 +43927,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcMember::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMemberStandardCase (IfcAbstractEntityPtr e); + IfcMemberStandardCase (IfcAbstractEntity* e); IfcMemberStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); - typedef IfcMemberStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMemberStandardCase > > list; - typedef IfcTemplatedEntityList< IfcMemberStandardCase >::it it; + typedef IfcTemplatedEntityList< IfcMemberStandardCase > list; }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. /// @@ -45329,21 +43979,19 @@ public: class IfcMotorConnection : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcMotorConnection - bool hasPredefinedType(); - IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcMotorConnection (IfcAbstractEntityPtr e); + IfcMotorConnection (IfcAbstractEntity* e); IfcMotorConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType); - typedef IfcMotorConnection* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcMotorConnection > > list; - typedef IfcTemplatedEntityList< IfcMotorConnection >::it it; + 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. /// @@ -45355,15 +44003,13 @@ public: virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBoundaryCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBoundaryCurve::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOuterBoundaryCurve (IfcAbstractEntityPtr e); - IfcOuterBoundaryCurve (SHARED_PTR< IfcTemplatedEntityList< IfcCompositeCurveSegment > > v1_Segments, bool v2_SelfIntersect); - typedef IfcOuterBoundaryCurve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOuterBoundaryCurve > > list; - typedef IfcTemplatedEntityList< IfcOuterBoundaryCurve >::it it; + IfcOuterBoundaryCurve (IfcAbstractEntity* e); + IfcOuterBoundaryCurve (IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect); + typedef IfcTemplatedEntityList< IfcOuterBoundaryCurve > list; }; /// An outlet is a device installed at a point to receive one or more inserted plugs for electrical power or communications. /// Power outlets are commonly connected within a junction box; data outlets may be directly connected to a wall. For power outlets sharing the same circuit within a junction box, the ports should indicate the logical wiring relationship to the enclosing junction box, even though they may be physically connected to a cable going to another outlet, switch, or fixture. @@ -45434,21 +44080,19 @@ public: class IfcOutlet : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcOutlet - bool hasPredefinedType(); - IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcOutletTypeEnum::IfcOutletTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcOutlet (IfcAbstractEntityPtr e); + IfcOutlet (IfcAbstractEntity* e); IfcOutlet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType); - typedef IfcOutlet* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcOutlet > > list; - typedef IfcTemplatedEntityList< IfcOutlet >::it it; + 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. /// @@ -45471,31 +44115,29 @@ public: class IfcPile : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcPile - bool hasPredefinedType(); + 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(); + IfcPileTypeEnum::IfcPileTypeEnum PredefinedType() const; void setPredefinedType(IfcPileTypeEnum::IfcPileTypeEnum v); /// Whether the optional attribute ConstructionType is defined for this IfcPile - bool hasConstructionType(); + bool hasConstructionType() const; /// 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(); + IfcPileConstructionEnum::IfcPileConstructionEnum ConstructionType() const; void setConstructionType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; case 9: return "ConstructionType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPile (IfcAbstractEntityPtr e); + IfcPile (IfcAbstractEntity* e); IfcPile (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); - typedef IfcPile* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPile > > list; - typedef IfcTemplatedEntityList< IfcPile >::it it; + 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. /// @@ -45585,21 +44227,19 @@ public: class IfcPipeFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcPipeFitting - bool hasPredefinedType(); - IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowFitting::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPipeFitting (IfcAbstractEntityPtr e); + IfcPipeFitting (IfcAbstractEntity* e); IfcPipeFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType); - typedef IfcPipeFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeFitting > > list; - typedef IfcTemplatedEntityList< IfcPipeFitting >::it it; + typedef IfcTemplatedEntityList< IfcPipeFitting > list; }; /// A pipe segment is used to typically join two sections of a piping network. /// @@ -45664,21 +44304,19 @@ public: class IfcPipeSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcPipeSegment - bool hasPredefinedType(); - IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowSegment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPipeSegment (IfcAbstractEntityPtr e); + IfcPipeSegment (IfcAbstractEntity* e); IfcPipeSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType); - typedef IfcPipeSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPipeSegment > > list; - typedef IfcTemplatedEntityList< IfcPipeSegment >::it it; + typedef IfcTemplatedEntityList< IfcPipeSegment > list; }; /// Definition from IAI: An IfcPlate is a planar and /// often flat part with constant thickness. A plate can be a @@ -45911,25 +44549,23 @@ public: class IfcPlate : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcPlate - bool hasPredefinedType(); + 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(); + IfcPlateTypeEnum::IfcPlateTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlate (IfcAbstractEntityPtr e); + IfcPlate (IfcAbstractEntity* e); IfcPlate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); - typedef IfcPlate* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlate > > list; - typedef IfcTemplatedEntityList< IfcPlate >::it it; + typedef IfcTemplatedEntityList< IfcPlate > list; }; /// The standard plate, /// IfcPlateStandardCase, defines a plate with certain @@ -46089,15 +44725,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcPlate::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcPlate::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPlateStandardCase (IfcAbstractEntityPtr e); + IfcPlateStandardCase (IfcAbstractEntity* e); IfcPlateStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); - typedef IfcPlateStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPlateStandardCase > > list; - typedef IfcTemplatedEntityList< IfcPlateStandardCase >::it it; + typedef IfcTemplatedEntityList< IfcPlateStandardCase > list; }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. /// A protective device provides protection against electrical current only (not as a general protective device). It may be used to represent the complete set of elements including both the tripping unit and the breaking unit that provide the protection. This may be particularly useful at earlier stages of design where the approach to breaking the electrical supply may be determined but the method of tripping may not. Alternatively, this entity may be used to specifically represent the breaking unit alone (in which case the tripping unit will also be specifically identified). This entity is specific to dedicated protective devices and excludes electrical outlets that may have circuit protection. @@ -46178,21 +44812,19 @@ public: class IfcProtectiveDevice : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDevice - bool hasPredefinedType(); - IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProtectiveDevice (IfcAbstractEntityPtr e); + IfcProtectiveDevice (IfcAbstractEntity* e); IfcProtectiveDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType); - typedef IfcProtectiveDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProtectiveDevice > > list; - typedef IfcTemplatedEntityList< IfcProtectiveDevice >::it it; + 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: /// @@ -46237,20 +44869,18 @@ public: class IfcProtectiveDeviceTrippingUnitType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of protective device tripping unit types from which the type required may be set. - IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType(); + IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProtectiveDeviceTrippingUnitType (IfcAbstractEntityPtr e); - IfcProtectiveDeviceTrippingUnitType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType); - typedef IfcProtectiveDeviceTrippingUnitType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnitType > > list; - typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnitType >::it it; + IfcProtectiveDeviceTrippingUnitType (IfcAbstractEntity* e); + IfcProtectiveDeviceTrippingUnitType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType); + 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. /// @@ -46304,21 +44934,19 @@ public: class IfcPump : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcPump - bool hasPredefinedType(); - IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcPumpTypeEnum::IfcPumpTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowMovingDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcPump (IfcAbstractEntityPtr e); + IfcPump (IfcAbstractEntity* e); IfcPump (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType); - typedef IfcPump* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcPump > > list; - typedef IfcTemplatedEntityList< IfcPump >::it it; + typedef IfcTemplatedEntityList< IfcPump > list; }; /// Definition of IAI: The railing is a frame assembly /// adjacent to human circulation spaces and at some space boundaries @@ -46455,24 +45083,22 @@ public: class IfcRailing : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRailing - bool hasPredefinedType(); + 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(); + IfcRailingTypeEnum::IfcRailingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRailing (IfcAbstractEntityPtr e); + IfcRailing (IfcAbstractEntity* e); IfcRailing (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); - typedef IfcRailing* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRailing > > list; - typedef IfcTemplatedEntityList< IfcRailing >::it it; + typedef IfcTemplatedEntityList< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor /// joining two surfaces at different levels. @@ -46610,26 +45236,24 @@ public: class IfcRamp : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRamp - bool hasPredefinedType(); + 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(); + IfcRampTypeEnum::IfcRampTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRamp (IfcAbstractEntityPtr e); + IfcRamp (IfcAbstractEntity* e); IfcRamp (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType); - typedef IfcRamp* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRamp > > list; - typedef IfcTemplatedEntityList< IfcRamp >::it it; + typedef IfcTemplatedEntityList< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally /// providing a human circulation link between two landings, floors or @@ -46822,25 +45446,23 @@ public: class IfcRampFlight : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRampFlight - bool hasPredefinedType(); + 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(); + IfcRampFlightTypeEnum::IfcRampFlightTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRampFlight (IfcAbstractEntityPtr e); + IfcRampFlight (IfcAbstractEntity* e); IfcRampFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType); - typedef IfcRampFlight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRampFlight > > list; - typedef IfcTemplatedEntityList< IfcRampFlight >::it it; + typedef IfcTemplatedEntityList< IfcRampFlight > list; }; /// A rational B-spline curve with knots is a B-spline curve /// described in terms of control points and basic functions. It @@ -46881,20 +45503,18 @@ public: class IfcRationalBSplineCurveWithKnots : public IfcBSplineCurveWithKnots { public: /// The supplied values of the weights. - std::vector< double > /*[2:?]*/ WeightsData(); + std::vector< double > /*[2:?]*/ WeightsData() const; void setWeightsData(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "WeightsData"; } return IfcBSplineCurveWithKnots::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRationalBSplineCurveWithKnots (IfcAbstractEntityPtr e); - IfcRationalBSplineCurveWithKnots (int v1_Degree, SHARED_PTR< IfcTemplatedEntityList< IfcCartesianPoint > > v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); - typedef IfcRationalBSplineCurveWithKnots* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRationalBSplineCurveWithKnots > > list; - typedef IfcTemplatedEntityList< IfcRationalBSplineCurveWithKnots >::it it; + IfcRationalBSplineCurveWithKnots (IfcAbstractEntity* e); + IfcRationalBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + typedef IfcTemplatedEntityList< IfcRationalBSplineCurveWithKnots > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. A single instance @@ -46927,38 +45547,36 @@ public: class IfcReinforcingBar : public IfcReinforcingElement { public: /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBar - bool hasNominalDiameter(); - IfcPositiveLengthMeasure NominalDiameter(); + bool hasNominalDiameter() const; + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBar - bool hasCrossSectionArea(); - IfcAreaMeasure CrossSectionArea(); + bool hasCrossSectionArea() const; + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar - bool hasBarLength(); - IfcPositiveLengthMeasure BarLength(); + bool hasBarLength() const; + IfcPositiveLengthMeasure BarLength() const; void setBarLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingBar - bool hasPredefinedType(); + bool hasPredefinedType() const; /// The predefined type is always BAR. - IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType(); + IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType() const; void setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBar - bool hasBarSurface(); - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface(); + bool hasBarSurface() const; + IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; void setBarSurface(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "NominalDiameter"; case 10: return "CrossSectionArea"; case 11: return "BarLength"; case 12: return "PredefinedType"; case 13: return "BarSurface"; } return IfcReinforcingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingBar (IfcAbstractEntityPtr e); + IfcReinforcingBar (IfcAbstractEntity* e); IfcReinforcingBar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_NominalDiameter, boost::optional< IfcAreaMeasure > v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); - typedef IfcReinforcingBar* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingBar > > list; - typedef IfcTemplatedEntityList< IfcReinforcingBar >::it it; + typedef IfcTemplatedEntityList< IfcReinforcingBar > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, /// used in concrete and masonry construction to provide additional strength. @@ -46979,48 +45597,46 @@ public: class IfcReinforcingBarType : public IfcReinforcingElementType { public: /// The predefined type is always BAR. - IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType(); + IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum PredefinedType() const; void setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v); /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBarType - bool hasNominalDiameter(); + bool hasNominalDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. - IfcPositiveLengthMeasure NominalDiameter(); + IfcPositiveLengthMeasure NominalDiameter() const; void setNominalDiameter(IfcPositiveLengthMeasure v); /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBarType - bool hasCrossSectionArea(); + bool hasCrossSectionArea() const; /// The effective cross-section area of the reinforcing bar. - IfcAreaMeasure CrossSectionArea(); + IfcAreaMeasure CrossSectionArea() const; void setCrossSectionArea(IfcAreaMeasure v); /// Whether the optional attribute BarLength is defined for this IfcReinforcingBarType - bool hasBarLength(); + bool hasBarLength() const; /// The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends. - IfcPositiveLengthMeasure BarLength(); + IfcPositiveLengthMeasure BarLength() const; void setBarLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBarType - bool hasBarSurface(); + bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. - IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface(); + IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum BarSurface() const; void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingBarType - bool hasBendingShapeCode(); - IfcLabel BendingShapeCode(); + bool hasBendingShapeCode() const; + IfcLabel BendingShapeCode() const; void setBendingShapeCode(IfcLabel v); /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingBarType - bool hasBendingParameters(); - SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > BendingParameters(); - void setBendingParameters(SHARED_PTR< IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect > > v); + bool hasBendingParameters() const; + IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr BendingParameters() const; + void setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); virtual unsigned int getArgumentCount() const { return 16; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_ENUMERATION; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_ENTITY_LIST; } return IfcReinforcingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "BarLength"; case 13: return "BarSurface"; case 14: return "BendingShapeCode"; case 15: return "BendingParameters"; } return IfcReinforcingElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcReinforcingBarType (IfcAbstractEntityPtr e); - IfcReinforcingBarType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< IfcLabel > v15_BendingShapeCode, boost::optional< IfcEntities > v16_BendingParameters); - typedef IfcReinforcingBarType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcReinforcingBarType > > list; - typedef IfcTemplatedEntityList< IfcReinforcingBarType >::it it; + IfcReinforcingBarType (IfcAbstractEntity* e); + IfcReinforcingBarType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< IfcLabel > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters); + typedef IfcTemplatedEntityList< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. /// The IfcRoof is a description of the total roof. It acts as a container entity, that aggregates all components of the roof, it represents. The aggregation is handled via the IfcRelAggregates relationship, relating an IfcRoof with the related roof elements, like slabs (represented by IfcSlab), rafters and purlins (represented by IfcBeam), or other included roofs, such as dormers (represented by IfcRoof). @@ -47170,24 +45786,22 @@ public: class IfcRoof : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcRoof - bool hasPredefinedType(); + 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(); + IfcRoofTypeEnum::IfcRoofTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcRoof (IfcAbstractEntityPtr e); + IfcRoof (IfcAbstractEntity* e); IfcRoof (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType); - typedef IfcRoof* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcRoof > > list; - typedef IfcTemplatedEntityList< IfcRoof >::it it; + 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. /// @@ -47318,21 +45932,19 @@ public: class IfcSanitaryTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcSanitaryTerminal - bool hasPredefinedType(); - IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSanitaryTerminal (IfcAbstractEntityPtr e); + IfcSanitaryTerminal (IfcAbstractEntity* e); IfcSanitaryTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType); - typedef IfcSanitaryTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSanitaryTerminal > > list; - typedef IfcTemplatedEntityList< IfcSanitaryTerminal >::it it; + 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: /// @@ -47385,20 +45997,18 @@ public: class IfcSensorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of sensor from which the type required may be set. - IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType(); + IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSensorType (IfcAbstractEntityPtr e); - IfcSensorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); - typedef IfcSensorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSensorType > > list; - typedef IfcTemplatedEntityList< IfcSensorType >::it it; + IfcSensorType (IfcAbstractEntity* e); + IfcSensorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcSensorType > list; }; /// Definition from IAI: Shading devices are purpose built /// devices to protect from the sunlight, from natural light, or @@ -47417,23 +46027,21 @@ public: class IfcShadingDevice : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcShadingDevice - bool hasPredefinedType(); + 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(); + IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcShadingDevice (IfcAbstractEntityPtr e); + IfcShadingDevice (IfcAbstractEntity* e); IfcShadingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType); - typedef IfcShadingDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcShadingDevice > > list; - typedef IfcTemplatedEntityList< IfcShadingDevice >::it it; + typedef IfcTemplatedEntityList< IfcShadingDevice > list; }; /// A slab is a component of the /// construction that normally encloses a space vertically. The slab @@ -47698,25 +46306,23 @@ public: class IfcSlab : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSlab - bool hasPredefinedType(); + 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(); + IfcSlabTypeEnum::IfcSlabTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlab (IfcAbstractEntityPtr e); + IfcSlab (IfcAbstractEntity* e); IfcSlab (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); - typedef IfcSlab* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlab > > list; - typedef IfcTemplatedEntityList< IfcSlab >::it it; + typedef IfcTemplatedEntityList< IfcSlab > list; }; /// The IfcSlabElementedCase /// defines a slab with certain constraints for the provision of its @@ -47806,15 +46412,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSlab::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSlab::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlabElementedCase (IfcAbstractEntityPtr e); + IfcSlabElementedCase (IfcAbstractEntity* e); IfcSlabElementedCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); - typedef IfcSlabElementedCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlabElementedCase > > list; - typedef IfcTemplatedEntityList< IfcSlabElementedCase >::it it; + typedef IfcTemplatedEntityList< IfcSlabElementedCase > list; }; /// The standard slab, /// IfcSlabStandardCase, defines a slab with certain constraints @@ -47980,15 +46584,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcSlab::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcSlab::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSlabStandardCase (IfcAbstractEntityPtr e); + IfcSlabStandardCase (IfcAbstractEntity* e); IfcSlabStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); - typedef IfcSlabStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSlabStandardCase > > list; - typedef IfcTemplatedEntityList< IfcSlabStandardCase >::it it; + typedef IfcTemplatedEntityList< IfcSlabStandardCase > list; }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. /// @@ -48040,21 +46642,19 @@ public: class IfcSolarDevice : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcSolarDevice - bool hasPredefinedType(); - IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSolarDevice (IfcAbstractEntityPtr e); + IfcSolarDevice (IfcAbstractEntity* e); IfcSolarDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType); - typedef IfcSolarDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSolarDevice > > list; - typedef IfcTemplatedEntityList< IfcSolarDevice >::it it; + 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. /// IfcUnitaryEquipment should be used for packaged units supporting a combination of heating, cooling, and/or dehumidification; IfcCoil should be used for coil-based floor heating. @@ -48121,21 +46721,19 @@ public: class IfcSpaceHeater : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcSpaceHeater - bool hasPredefinedType(); - IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSpaceHeater (IfcAbstractEntityPtr e); + IfcSpaceHeater (IfcAbstractEntity* e); IfcSpaceHeater (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType); - typedef IfcSpaceHeater* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSpaceHeater > > list; - typedef IfcTemplatedEntityList< IfcSpaceHeater >::it it; + 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). /// @@ -48190,21 +46788,19 @@ public: class IfcStackTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcStackTerminal - bool hasPredefinedType(); - IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStackTerminal (IfcAbstractEntityPtr e); + IfcStackTerminal (IfcAbstractEntity* e); IfcStackTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType); - typedef IfcStackTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStackTerminal > > list; - typedef IfcTemplatedEntityList< IfcStackTerminal >::it it; + typedef IfcTemplatedEntityList< IfcStackTerminal > list; }; /// Definition from ISO 6707-1:1989: Construction comprising /// a succession of horizontal stages (steps or landings) that make it @@ -48374,24 +46970,22 @@ public: class IfcStair : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcStair - bool hasPredefinedType(); + 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(); + IfcStairTypeEnum::IfcStairTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStair (IfcAbstractEntityPtr e); + IfcStair (IfcAbstractEntity* e); IfcStair (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType); - typedef IfcStair* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStair > > list; - typedef IfcTemplatedEntityList< IfcStair >::it it; + typedef IfcTemplatedEntityList< IfcStair > list; }; /// A stair flight is an assembly of /// building components in a single "run" of stair steps (not @@ -48563,53 +47157,51 @@ public: class IfcStairFlight : public IfcBuildingElement { public: /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight - bool hasNumberOfRiser(); + 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(); + int NumberOfRiser() const; void setNumberOfRiser(int v); /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight - bool hasNumberOfTreads(); + bool hasNumberOfTreads() const; /// 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(); + int NumberOfTreads() const; void setNumberOfTreads(int v); /// Whether the optional attribute RiserHeight is defined for this IfcStairFlight - bool hasRiserHeight(); + bool hasRiserHeight() const; /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - IfcPositiveLengthMeasure RiserHeight(); + IfcPositiveLengthMeasure RiserHeight() const; void setRiserHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute TreadLength is defined for this IfcStairFlight - bool hasTreadLength(); + bool hasTreadLength() const; /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - IfcPositiveLengthMeasure TreadLength(); + IfcPositiveLengthMeasure TreadLength() const; void setTreadLength(IfcPositiveLengthMeasure v); /// Whether the optional attribute PredefinedType is defined for this IfcStairFlight - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Predefined generic type for a stair flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// 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(); + IfcStairFlightTypeEnum::IfcStairFlightTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRiser"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; case 12: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStairFlight (IfcAbstractEntityPtr e); + IfcStairFlight (IfcAbstractEntity* e); IfcStairFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); - typedef IfcStairFlight* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStairFlight > > list; - typedef IfcTemplatedEntityList< IfcStairFlight >::it it; + 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. /// @@ -48637,10 +47229,10 @@ public: class IfcStructuralAnalysisModel : public IfcSystem { public: /// Defines the type of the structural analysis model. - IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType(); + IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum PredefinedType() const; void setPredefinedType(IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v); /// Whether the optional attribute OrientationOf2DPlane is defined for this IfcStructuralAnalysisModel - bool hasOrientationOf2DPlane(); + bool hasOrientationOf2DPlane() const; /// 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 @@ -48651,39 +47243,37 @@ 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(); + IfcAxis2Placement3D* OrientationOf2DPlane() const; void setOrientationOf2DPlane(IfcAxis2Placement3D* v); /// Whether the optional attribute LoadedBy is defined for this IfcStructuralAnalysisModel - bool hasLoadedBy(); + bool hasLoadedBy() const; /// References to all load groups to be analyzed. - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > LoadedBy(); - void setLoadedBy(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > v); + IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr LoadedBy() const; + void setLoadedBy(IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr v); /// Whether the optional attribute HasResults is defined for this IfcStructuralAnalysisModel - bool hasHasResults(); + bool hasHasResults() const; /// References to all result groups available for this structural analysis model. - SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > HasResults(); - void setHasResults(SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > v); + IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr HasResults() const; + void setHasResults(IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr v); /// Whether the optional attribute SharedPlacement is defined for this IfcStructuralAnalysisModel - bool hasSharedPlacement(); + bool hasSharedPlacement() const; /// 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(); + IfcObjectPlacement* SharedPlacement() const; void setSharedPlacement(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "OrientationOf2DPlane"; case 7: return "LoadedBy"; case 8: return "HasResults"; case 9: return "SharedPlacement"; } return IfcSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralAnalysisModel (IfcAbstractEntityPtr e); - IfcStructuralAnalysisModel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadGroup > > > v8_LoadedBy, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcStructuralResultGroup > > > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement); - typedef IfcStructuralAnalysisModel* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralAnalysisModel > > list; - typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel >::it it; + IfcStructuralAnalysisModel (IfcAbstractEntity* e); + IfcStructuralAnalysisModel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement); + typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. /// @@ -48691,26 +47281,24 @@ public: class IfcStructuralLoadCase : public IfcStructuralLoadGroup { public: /// Whether the optional attribute SelfWeightCoefficients is defined for this IfcStructuralLoadCase - bool hasSelfWeightCoefficients(); + 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< IfcRatioMeasure > /*[3:3]*/ SelfWeightCoefficients(); + std::vector< IfcRatioMeasure > /*[3:3]*/ SelfWeightCoefficients() const; void setSelfWeightCoefficients(std::vector< IfcRatioMeasure > /*[3:3]*/ v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcStructuralLoadGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "SelfWeightCoefficients"; } return IfcStructuralLoadGroup::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralLoadCase (IfcAbstractEntityPtr e); + IfcStructuralLoadCase (IfcAbstractEntity* e); IfcStructuralLoadCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose, boost::optional< std::vector< IfcRatioMeasure > /*[3:3]*/ > v11_SelfWeightCoefficients); - typedef IfcStructuralLoadCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralLoadCase > > list; - typedef IfcTemplatedEntityList< IfcStructuralLoadCase >::it it; + typedef IfcTemplatedEntityList< IfcStructuralLoadCase > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. /// @@ -48724,15 +47312,13 @@ public: virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcStructuralSurfaceAction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcStructuralSurfaceAction::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcStructuralPlanarAction (IfcAbstractEntityPtr e); + IfcStructuralPlanarAction (IfcAbstractEntity* e); IfcStructuralPlanarAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); - typedef IfcStructuralPlanarAction* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcStructuralPlanarAction > > list; - typedef IfcTemplatedEntityList< IfcStructuralPlanarAction >::it it; + typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. /// Switches include those used for electrical power, communications, audio-visual, or other distribution system types as determined by the available ports. @@ -48825,21 +47411,19 @@ public: class IfcSwitchingDevice : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcSwitchingDevice - bool hasPredefinedType(); - IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSwitchingDevice (IfcAbstractEntityPtr e); + IfcSwitchingDevice (IfcAbstractEntity* e); IfcSwitchingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType); - typedef IfcSwitchingDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSwitchingDevice > > list; - typedef IfcTemplatedEntityList< IfcSwitchingDevice >::it it; + typedef IfcTemplatedEntityList< IfcSwitchingDevice > list; }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. /// @@ -48904,21 +47488,19 @@ public: class IfcTank : public IfcFlowStorageDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcTank - bool hasPredefinedType(); - IfcTankTypeEnum::IfcTankTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcTankTypeEnum::IfcTankTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowStorageDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTank (IfcAbstractEntityPtr e); + IfcTank (IfcAbstractEntity* e); IfcTank (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType); - typedef IfcTank* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTank > > list; - typedef IfcTemplatedEntityList< IfcTank >::it it; + typedef IfcTemplatedEntityList< IfcTank > list; }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. /// IfcTransformer is used to transform electric power; conversion of electric signals for other purposes is handled at other entities: IfcController converts arbitrary signals, IfcAudioVisualAppliance converts signals for audio or video streams, and IfcCommunicationsAppliance converts signals for data or other communications usage. @@ -48965,21 +47547,19 @@ public: class IfcTransformer : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcTransformer - bool hasPredefinedType(); - IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcTransformerTypeEnum::IfcTransformerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTransformer (IfcAbstractEntityPtr e); + IfcTransformer (IfcAbstractEntity* e); IfcTransformer (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType); - typedef IfcTransformer* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTransformer > > list; - typedef IfcTemplatedEntityList< IfcTransformer >::it it; + 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. /// @@ -49031,21 +47611,19 @@ public: class IfcTubeBundle : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcTubeBundle - bool hasPredefinedType(); - IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcTubeBundle (IfcAbstractEntityPtr e); + IfcTubeBundle (IfcAbstractEntity* e); IfcTubeBundle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType); - typedef IfcTubeBundle* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcTubeBundle > > list; - typedef IfcTemplatedEntityList< IfcTubeBundle >::it it; + 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: /// @@ -49076,20 +47654,18 @@ public: class IfcUnitaryControlElementType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of unitary control element from which the type required may be set. - IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType(); + IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitaryControlElementType (IfcAbstractEntityPtr e); - IfcUnitaryControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType); - typedef IfcUnitaryControlElementType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitaryControlElementType > > list; - typedef IfcTemplatedEntityList< IfcUnitaryControlElementType >::it it; + IfcUnitaryControlElementType (IfcAbstractEntity* e); + IfcUnitaryControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType); + 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. /// @@ -49166,21 +47742,19 @@ public: class IfcUnitaryEquipment : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryEquipment - bool hasPredefinedType(); - IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitaryEquipment (IfcAbstractEntityPtr e); + IfcUnitaryEquipment (IfcAbstractEntity* e); IfcUnitaryEquipment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType); - typedef IfcUnitaryEquipment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitaryEquipment > > list; - typedef IfcTemplatedEntityList< IfcUnitaryEquipment >::it it; + typedef IfcTemplatedEntityList< IfcUnitaryEquipment > list; }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. /// @@ -49371,21 +47945,19 @@ public: class IfcValve : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcValve - bool hasPredefinedType(); - IfcValveTypeEnum::IfcValveTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcValveTypeEnum::IfcValveTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcValve (IfcAbstractEntityPtr e); + IfcValve (IfcAbstractEntity* e); IfcValve (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType); - typedef IfcValve* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcValve > > list; - typedef IfcTemplatedEntityList< IfcValve >::it it; + typedef IfcTemplatedEntityList< IfcValve > list; }; /// Definition from ISO 6707-1:1989: Vertical construction /// usually in masonry or in concrete which bounds or subdivides a @@ -49632,25 +48204,23 @@ public: class IfcWall : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcWall - bool hasPredefinedType(); + 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(); + IfcWallTypeEnum::IfcWallTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWall (IfcAbstractEntityPtr e); + IfcWall (IfcAbstractEntity* e); IfcWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); - typedef IfcWall* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWall > > list; - typedef IfcTemplatedEntityList< IfcWall >::it it; + typedef IfcTemplatedEntityList< IfcWall > list; }; /// The IfcWallElementedCase /// defines a wall with certain constraints for the provision of its @@ -49755,15 +48325,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWall::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcWall::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWallElementedCase (IfcAbstractEntityPtr e); + IfcWallElementedCase (IfcAbstractEntity* e); IfcWallElementedCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); - typedef IfcWallElementedCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallElementedCase > > list; - typedef IfcTemplatedEntityList< IfcWallElementedCase >::it it; + typedef IfcTemplatedEntityList< IfcWallElementedCase > list; }; /// The IfcWallStandardCase defines a wall with certain /// constraints for the provision of parameters and with certain @@ -49972,15 +48540,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWall::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcWall::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWallStandardCase (IfcAbstractEntityPtr e); + IfcWallStandardCase (IfcAbstractEntity* e); IfcWallStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); - typedef IfcWallStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWallStandardCase > > list; - typedef IfcTemplatedEntityList< IfcWallStandardCase >::it it; + 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. /// A waste terminal provides for all forms of trap and waste point that collects discharge from a sanitary terminal and discharges it into a waste/drainage subsystem or that collects waste from several terminals and passes it into a single waste/drainage subsystem. This includes the P and S traps from soil sanitary terminals, sinks, and basins as well as floor wastes and gully traps that provide collection points. @@ -50089,21 +48655,19 @@ public: class IfcWasteTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcWasteTerminal - bool hasPredefinedType(); - IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWasteTerminal (IfcAbstractEntityPtr e); + IfcWasteTerminal (IfcAbstractEntity* e); IfcWasteTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType); - typedef IfcWasteTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWasteTerminal > > list; - typedef IfcTemplatedEntityList< IfcWasteTerminal >::it it; + typedef IfcTemplatedEntityList< IfcWasteTerminal > list; }; /// Definition form ISO 6707-1:1989: Construction for /// closing a vertical or near vertical opening in a wall or pitched @@ -50466,52 +49030,50 @@ public: class IfcWindow : public IfcBuildingElement { public: /// Whether the optional attribute OverallHeight is defined for this IfcWindow - bool hasOverallHeight(); + 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. - IfcPositiveLengthMeasure OverallHeight(); + IfcPositiveLengthMeasure OverallHeight() const; void setOverallHeight(IfcPositiveLengthMeasure v); /// Whether the optional attribute OverallWidth is defined for this IfcWindow - bool hasOverallWidth(); + bool hasOverallWidth() const; /// Overall measure of the width, it reflects the X Dimension of a bounding box, enclosing the body of the window opening. If omitted, the OverallWidth should be taken from the geometric representation of the IfcOpening in which the window is inserted. /// /// NOTE  The body of the window might be wider then the window opening (e.g. in cases where the window lining includes a casing). In these cases the OverallWidth shall still be given as the window opening width, and not as the total width of the window lining. - IfcPositiveLengthMeasure OverallWidth(); + IfcPositiveLengthMeasure OverallWidth() const; void setOverallWidth(IfcPositiveLengthMeasure v); /// Whether the optional attribute PredefinedType is defined for this IfcWindow - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Predefined generic type for a window that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// 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(); + IfcWindowTypeEnum::IfcWindowTypeEnum PredefinedType() const; void setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v); /// Whether the optional attribute PartitioningType is defined for this IfcWindow - bool hasPartitioningType(); + bool hasPartitioningType() const; /// 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(); + IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum PartitioningType() const; void setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v); /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindow - bool hasUserDefinedPartitioningType(); - IfcLabel UserDefinedPartitioningType(); + bool hasUserDefinedPartitioningType() const; + IfcLabel UserDefinedPartitioningType() const; void setUserDefinedPartitioningType(IfcLabel v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; case 10: return "PredefinedType"; case 11: return "PartitioningType"; case 12: return "UserDefinedPartitioningType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindow (IfcAbstractEntityPtr e); + IfcWindow (IfcAbstractEntity* e); IfcWindow (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); - typedef IfcWindow* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindow > > list; - typedef IfcTemplatedEntityList< IfcWindow >::it it; + typedef IfcTemplatedEntityList< IfcWindow > list; }; /// The standard window, /// IfcWindowStandardCase, defines a window with certain @@ -50632,15 +49194,13 @@ public: virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcWindow::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcWindow::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcWindowStandardCase (IfcAbstractEntityPtr e); + IfcWindowStandardCase (IfcAbstractEntity* e); IfcWindowStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); - typedef IfcWindowStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcWindowStandardCase > > list; - typedef IfcTemplatedEntityList< IfcWindowStandardCase >::it it; + 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: /// @@ -50676,20 +49236,18 @@ public: class IfcActuatorType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of actuator from which the type required may be set. - IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType(); + IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActuatorType (IfcAbstractEntityPtr e); - IfcActuatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); - typedef IfcActuatorType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActuatorType > > list; - typedef IfcTemplatedEntityList< IfcActuatorType >::it it; + IfcActuatorType (IfcAbstractEntity* e); + IfcActuatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); + 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. /// @@ -50751,21 +49309,19 @@ public: class IfcAirTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminal - bool hasPredefinedType(); - IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirTerminal (IfcAbstractEntityPtr e); + IfcAirTerminal (IfcAbstractEntity* e); IfcAirTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType); - typedef IfcAirTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminal > > list; - typedef IfcTemplatedEntityList< IfcAirTerminal >::it it; + 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". /// @@ -50812,21 +49368,19 @@ public: class IfcAirTerminalBox : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirTerminalBox - bool hasPredefinedType(); - IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirTerminalBox (IfcAbstractEntityPtr e); + IfcAirTerminalBox (IfcAbstractEntity* e); IfcAirTerminalBox (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType); - typedef IfcAirTerminalBox* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirTerminalBox > > list; - typedef IfcTemplatedEntityList< IfcAirTerminalBox >::it it; + 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. /// @@ -50876,21 +49430,19 @@ public: class IfcAirToAirHeatRecovery : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcAirToAirHeatRecovery - bool hasPredefinedType(); - IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAirToAirHeatRecovery (IfcAbstractEntityPtr e); + IfcAirToAirHeatRecovery (IfcAbstractEntity* e); IfcAirToAirHeatRecovery (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType); - typedef IfcAirToAirHeatRecovery* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAirToAirHeatRecovery > > list; - typedef IfcTemplatedEntityList< IfcAirToAirHeatRecovery >::it it; + 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: /// @@ -50921,20 +49473,18 @@ public: class IfcAlarmType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of alarm from which the type required may be set. - IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType(); + IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAlarmType (IfcAbstractEntityPtr e); - IfcAlarmType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); - typedef IfcAlarmType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAlarmType > > list; - typedef IfcTemplatedEntityList< IfcAlarmType >::it it; + IfcAlarmType (IfcAbstractEntity* e); + IfcAlarmType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); + typedef IfcTemplatedEntityList< IfcAlarmType > list; }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. /// Audio-visual appliances may be fixed in place or may be able to be moved from one space to another. They may require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. Audio-visual appliances may be connected to data circuits including specialist circuits for audio visual purposes only. @@ -51117,21 +49667,19 @@ public: class IfcAudioVisualAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcAudioVisualAppliance - bool hasPredefinedType(); - IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAudioVisualAppliance (IfcAbstractEntityPtr e); + IfcAudioVisualAppliance (IfcAbstractEntity* e); IfcAudioVisualAppliance (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType); - typedef IfcAudioVisualAppliance* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAudioVisualAppliance > > list; - typedef IfcTemplatedEntityList< IfcAudioVisualAppliance >::it it; + 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. /// @@ -51373,25 +49921,23 @@ public: class IfcBeam : public IfcBuildingElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcBeam - bool hasPredefinedType(); + 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(); + IfcBeamTypeEnum::IfcBeamTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBeam (IfcAbstractEntityPtr e); + IfcBeam (IfcAbstractEntity* e); IfcBeam (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); - typedef IfcBeam* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeam > > list; - typedef IfcTemplatedEntityList< IfcBeam >::it it; + typedef IfcTemplatedEntityList< IfcBeam > list; }; /// The standard beam, /// IfcBeamStandardCase, defines a beam with certain constraints @@ -51649,15 +50195,13 @@ public: virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcBeam::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcBeam::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBeamStandardCase (IfcAbstractEntityPtr e); + IfcBeamStandardCase (IfcAbstractEntity* e); IfcBeamStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); - typedef IfcBeamStandardCase* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBeamStandardCase > > list; - typedef IfcTemplatedEntityList< IfcBeamStandardCase >::it it; + 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. /// IfcBoiler is a vessel solely used for heating of water or other fluids. Storage vessels, such as for drinking water storage are considered as tanks and use the IfcTank entity. @@ -51731,21 +50275,19 @@ public: class IfcBoiler : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcBoiler - bool hasPredefinedType(); - IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcBoilerTypeEnum::IfcBoilerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBoiler (IfcAbstractEntityPtr e); + IfcBoiler (IfcAbstractEntity* e); IfcBoiler (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType); - typedef IfcBoiler* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBoiler > > list; - typedef IfcTemplatedEntityList< IfcBoiler >::it it; + typedef IfcTemplatedEntityList< IfcBoiler > list; }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. /// @@ -51791,21 +50333,19 @@ public: class IfcBurner : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcBurner - bool hasPredefinedType(); - IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcBurnerTypeEnum::IfcBurnerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcBurner (IfcAbstractEntityPtr e); + IfcBurner (IfcAbstractEntity* e); IfcBurner (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType); - typedef IfcBurner* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcBurner > > list; - typedef IfcTemplatedEntityList< IfcBurner >::it it; + typedef IfcTemplatedEntityList< IfcBurner > list; }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. /// @@ -51871,22 +50411,20 @@ public: class IfcCableCarrierFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierFitting - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of cable carrier fitting from which the type required may be set. - IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType(); + IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowFitting::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableCarrierFitting (IfcAbstractEntityPtr e); + IfcCableCarrierFitting (IfcAbstractEntity* e); IfcCableCarrierFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType); - typedef IfcCableCarrierFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierFitting > > list; - typedef IfcTemplatedEntityList< IfcCableCarrierFitting >::it it; + typedef IfcTemplatedEntityList< IfcCableCarrierFitting > list; }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. /// @@ -51950,22 +50488,20 @@ public: class IfcCableCarrierSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableCarrierSegment - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of cable carrier segment from which the type required may be set. - IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType(); + IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowSegment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableCarrierSegment (IfcAbstractEntityPtr e); + IfcCableCarrierSegment (IfcAbstractEntity* e); IfcCableCarrierSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType); - typedef IfcCableCarrierSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableCarrierSegment > > list; - typedef IfcTemplatedEntityList< IfcCableCarrierSegment >::it it; + typedef IfcTemplatedEntityList< IfcCableCarrierSegment > list; }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. /// @@ -52044,22 +50580,20 @@ public: class IfcCableFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableFitting - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of cable fitting from which the type required may be set. - IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType(); + IfcCableFittingTypeEnum::IfcCableFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowFitting::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableFitting (IfcAbstractEntityPtr e); + IfcCableFitting (IfcAbstractEntity* e); IfcCableFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType); - typedef IfcCableFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableFitting > > list; - typedef IfcTemplatedEntityList< IfcCableFitting >::it it; + typedef IfcTemplatedEntityList< IfcCableFitting > list; }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. /// A cable segment is used to typically join two sections of an electrical network or a network of components carrying the electrical service. @@ -52151,22 +50685,20 @@ public: class IfcCableSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcCableSegment - bool hasPredefinedType(); + bool hasPredefinedType() const; /// Identifies the predefined types of cable segment from which the type required may be set. - IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType(); + IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowSegment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCableSegment (IfcAbstractEntityPtr e); + IfcCableSegment (IfcAbstractEntity* e); IfcCableSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType); - typedef IfcCableSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCableSegment > > list; - typedef IfcTemplatedEntityList< IfcCableSegment >::it it; + 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. /// @@ -52240,21 +50772,19 @@ public: class IfcChiller : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcChiller - bool hasPredefinedType(); - IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcChillerTypeEnum::IfcChillerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcChiller (IfcAbstractEntityPtr e); + IfcChiller (IfcAbstractEntity* e); IfcChiller (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType); - typedef IfcChiller* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcChiller > > list; - typedef IfcTemplatedEntityList< IfcChiller >::it it; + 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. /// Coils may also be used for non-airflow cases such as embedded in a floor slab. @@ -52325,21 +50855,19 @@ public: class IfcCoil : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCoil - bool hasPredefinedType(); - IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcCoilTypeEnum::IfcCoilTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoil (IfcAbstractEntityPtr e); + IfcCoil (IfcAbstractEntity* e); IfcCoil (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType); - typedef IfcCoil* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoil > > list; - typedef IfcTemplatedEntityList< IfcCoil >::it it; + typedef IfcTemplatedEntityList< IfcCoil > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -52446,21 +50974,19 @@ public: class IfcCommunicationsAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcCommunicationsAppliance - bool hasPredefinedType(); - IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCommunicationsAppliance (IfcAbstractEntityPtr e); + IfcCommunicationsAppliance (IfcAbstractEntity* e); IfcCommunicationsAppliance (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType); - typedef IfcCommunicationsAppliance* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCommunicationsAppliance > > list; - typedef IfcTemplatedEntityList< IfcCommunicationsAppliance >::it it; + typedef IfcTemplatedEntityList< IfcCommunicationsAppliance > list; }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. /// @@ -52511,21 +51037,19 @@ public: class IfcCompressor : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCompressor - bool hasPredefinedType(); - IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcCompressorTypeEnum::IfcCompressorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowMovingDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCompressor (IfcAbstractEntityPtr e); + IfcCompressor (IfcAbstractEntity* e); IfcCompressor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType); - typedef IfcCompressor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCompressor > > list; - typedef IfcTemplatedEntityList< IfcCompressor >::it it; + 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. /// @@ -52596,21 +51120,19 @@ public: class IfcCondenser : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCondenser - bool hasPredefinedType(); - IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcCondenserTypeEnum::IfcCondenserTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCondenser (IfcAbstractEntityPtr e); + IfcCondenser (IfcAbstractEntity* e); IfcCondenser (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType); - typedef IfcCondenser* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCondenser > > list; - typedef IfcTemplatedEntityList< IfcCondenser >::it it; + 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: /// @@ -52651,20 +51173,18 @@ public: class IfcControllerType : public IfcDistributionControlElementType { public: /// Identifies the predefined types of controller from which the type required may be set. - IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType(); + IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; } return IfcDistributionControlElementType::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcControllerType (IfcAbstractEntityPtr e); - IfcControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcPropertySetDefinition > > > v6_HasPropertySets, boost::optional< SHARED_PTR< IfcTemplatedEntityList< IfcRepresentationMap > > > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); - typedef IfcControllerType* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcControllerType > > list; - typedef IfcTemplatedEntityList< IfcControllerType >::it it; + IfcControllerType (IfcAbstractEntity* e); + IfcControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); + 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. /// @@ -52718,21 +51238,19 @@ public: class IfcCooledBeam : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCooledBeam - bool hasPredefinedType(); - IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCooledBeam (IfcAbstractEntityPtr e); + IfcCooledBeam (IfcAbstractEntity* e); IfcCooledBeam (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType); - typedef IfcCooledBeam* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCooledBeam > > list; - typedef IfcTemplatedEntityList< IfcCooledBeam >::it it; + 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. /// @@ -52794,21 +51312,19 @@ public: class IfcCoolingTower : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcCoolingTower - bool hasPredefinedType(); - IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcCoolingTower (IfcAbstractEntityPtr e); + IfcCoolingTower (IfcAbstractEntity* e); IfcCoolingTower (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType); - typedef IfcCoolingTower* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcCoolingTower > > list; - typedef IfcTemplatedEntityList< IfcCoolingTower >::it it; + 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. /// @@ -52884,21 +51400,19 @@ public: class IfcDamper : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcDamper - bool hasPredefinedType(); - IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcDamperTypeEnum::IfcDamperTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDamper (IfcAbstractEntityPtr e); + IfcDamper (IfcAbstractEntity* e); IfcDamper (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType); - typedef IfcDamper* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDamper > > list; - typedef IfcTemplatedEntityList< IfcDamper >::it it; + 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. /// @@ -52934,21 +51448,19 @@ public: class IfcDistributionChamberElement : public IfcDistributionFlowElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcDistributionChamberElement - bool hasPredefinedType(); - IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionFlowElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionChamberElement (IfcAbstractEntityPtr e); + IfcDistributionChamberElement (IfcAbstractEntity* e); IfcDistributionChamberElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType); - typedef IfcDistributionChamberElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionChamberElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionChamberElement >::it it; + typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; }; class IfcDistributionCircuit : public IfcDistributionSystem { @@ -52956,15 +51468,13 @@ public: virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionSystem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionSystem::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionCircuit (IfcAbstractEntityPtr e); + IfcDistributionCircuit (IfcAbstractEntity* e); IfcDistributionCircuit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); - typedef IfcDistributionCircuit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionCircuit > > list; - typedef IfcTemplatedEntityList< IfcDistributionCircuit >::it it; + 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. /// @@ -53049,16 +51559,14 @@ public: virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcDistributionElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } - SHARED_PTR< IfcTemplatedEntityList< IfcRelFlowControlElements > > AssignedToFlowElement(); // INVERSE IfcRelFlowControlElements::RelatedControlElements + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcRelFlowControlElements >::ptr AssignedToFlowElement() const; // INVERSE IfcRelFlowControlElements::RelatedControlElements bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDistributionControlElement (IfcAbstractEntityPtr e); + IfcDistributionControlElement (IfcAbstractEntity* e); IfcDistributionControlElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); - typedef IfcDistributionControlElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDistributionControlElement > > list; - typedef IfcTemplatedEntityList< IfcDistributionControlElement >::it it; + 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. /// @@ -53138,21 +51646,19 @@ public: class IfcDuctFitting : public IfcFlowFitting { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctFitting - bool hasPredefinedType(); - IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowFitting::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctFitting (IfcAbstractEntityPtr e); + IfcDuctFitting (IfcAbstractEntity* e); IfcDuctFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType); - typedef IfcDuctFitting* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctFitting > > list; - typedef IfcTemplatedEntityList< IfcDuctFitting >::it it; + typedef IfcTemplatedEntityList< IfcDuctFitting > list; }; /// A duct segment is used to typically join two sections of duct network. /// @@ -53206,21 +51712,19 @@ public: class IfcDuctSegment : public IfcFlowSegment { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctSegment - bool hasPredefinedType(); - IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowSegment::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctSegment (IfcAbstractEntityPtr e); + IfcDuctSegment (IfcAbstractEntity* e); IfcDuctSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType); - typedef IfcDuctSegment* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSegment > > list; - typedef IfcTemplatedEntityList< IfcDuctSegment >::it it; + 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. /// @@ -53267,21 +51771,19 @@ public: class IfcDuctSilencer : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcDuctSilencer - bool hasPredefinedType(); - IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTreatmentDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcDuctSilencer (IfcAbstractEntityPtr e); + IfcDuctSilencer (IfcAbstractEntity* e); IfcDuctSilencer (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType); - typedef IfcDuctSilencer* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcDuctSilencer > > list; - typedef IfcTemplatedEntityList< IfcDuctSilencer >::it it; + typedef IfcTemplatedEntityList< IfcDuctSilencer > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. /// Communication appliances may be fixed in place or may be able to be moved from one space to another. Communication appliances require an electrical supply that may be supplied either by an electrical circuit or provided from a local battery source. @@ -53384,21 +51886,19 @@ public: class IfcElectricAppliance : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricAppliance - bool hasPredefinedType(); - IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricAppliance (IfcAbstractEntityPtr e); + IfcElectricAppliance (IfcAbstractEntity* e); IfcElectricAppliance (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType); - typedef IfcElectricAppliance* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricAppliance > > list; - typedef IfcTemplatedEntityList< IfcElectricAppliance >::it it; + 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. /// A distribution provides a housing for connected electrical distribution elements so that they can be viewed, operated or acted upon from a single place. Each connected item may have its own geometric representation and location. @@ -53460,21 +51960,19 @@ public: class IfcElectricDistributionBoard : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricDistributionBoard - bool hasPredefinedType(); - IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricDistributionBoard (IfcAbstractEntityPtr e); + IfcElectricDistributionBoard (IfcAbstractEntity* e); IfcElectricDistributionBoard (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType); - typedef IfcElectricDistributionBoard* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricDistributionBoard > > list; - typedef IfcTemplatedEntityList< IfcElectricDistributionBoard >::it it; + 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. /// @@ -53520,21 +52018,19 @@ public: class IfcElectricFlowStorageDevice : public IfcFlowStorageDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricFlowStorageDevice - bool hasPredefinedType(); - IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowStorageDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricFlowStorageDevice (IfcAbstractEntityPtr e); + IfcElectricFlowStorageDevice (IfcAbstractEntity* e); IfcElectricFlowStorageDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType); - typedef IfcElectricFlowStorageDevice* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricFlowStorageDevice > > list; - typedef IfcTemplatedEntityList< IfcElectricFlowStorageDevice >::it it; + typedef IfcTemplatedEntityList< IfcElectricFlowStorageDevice > list; }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. /// @@ -53586,21 +52082,19 @@ public: class IfcElectricGenerator : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricGenerator - bool hasPredefinedType(); - IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricGenerator (IfcAbstractEntityPtr e); + IfcElectricGenerator (IfcAbstractEntity* e); IfcElectricGenerator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType); - typedef IfcElectricGenerator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricGenerator > > list; - typedef IfcTemplatedEntityList< IfcElectricGenerator >::it it; + typedef IfcTemplatedEntityList< IfcElectricGenerator > list; }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. /// @@ -53646,21 +52140,19 @@ public: class IfcElectricMotor : public IfcEnergyConversionDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricMotor - bool hasPredefinedType(); - IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcEnergyConversionDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricMotor (IfcAbstractEntityPtr e); + IfcElectricMotor (IfcAbstractEntity* e); IfcElectricMotor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType); - typedef IfcElectricMotor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricMotor > > list; - typedef IfcTemplatedEntityList< IfcElectricMotor >::it it; + typedef IfcTemplatedEntityList< IfcElectricMotor > list; }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. /// @@ -53706,21 +52198,19 @@ public: class IfcElectricTimeControl : public IfcFlowController { public: /// Whether the optional attribute PredefinedType is defined for this IfcElectricTimeControl - bool hasPredefinedType(); - IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowController::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcElectricTimeControl (IfcAbstractEntityPtr e); + IfcElectricTimeControl (IfcAbstractEntity* e); IfcElectricTimeControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType); - typedef IfcElectricTimeControl* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcElectricTimeControl > > list; - typedef IfcTemplatedEntityList< IfcElectricTimeControl >::it it; + 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. /// @@ -53779,21 +52269,19 @@ public: class IfcFan : public IfcFlowMovingDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcFan - bool hasPredefinedType(); - IfcFanTypeEnum::IfcFanTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFanTypeEnum::IfcFanTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowMovingDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFan (IfcAbstractEntityPtr e); + IfcFan (IfcAbstractEntity* e); IfcFan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType); - typedef IfcFan* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFan > > list; - typedef IfcTemplatedEntityList< IfcFan >::it it; + typedef IfcTemplatedEntityList< IfcFan > list; }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. /// @@ -53885,21 +52373,19 @@ public: class IfcFilter : public IfcFlowTreatmentDevice { public: /// Whether the optional attribute PredefinedType is defined for this IfcFilter - bool hasPredefinedType(); - IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFilterTypeEnum::IfcFilterTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTreatmentDevice::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFilter (IfcAbstractEntityPtr e); + IfcFilter (IfcAbstractEntity* e); IfcFilter (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType); - typedef IfcFilter* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFilter > > list; - typedef IfcTemplatedEntityList< IfcFilter >::it it; + typedef IfcTemplatedEntityList< IfcFilter > list; }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. /// A fire suppression terminal provides for all forms of sprinkler, spreader and other form of terminal that is connected to a pipework system and intended to act in the role of suppressing a fire. @@ -53970,21 +52456,19 @@ public: class IfcFireSuppressionTerminal : public IfcFlowTerminal { public: /// Whether the optional attribute PredefinedType is defined for this IfcFireSuppressionTerminal - bool hasPredefinedType(); - IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcFlowTerminal::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFireSuppressionTerminal (IfcAbstractEntityPtr e); + IfcFireSuppressionTerminal (IfcAbstractEntity* e); IfcFireSuppressionTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType); - typedef IfcFireSuppressionTerminal* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFireSuppressionTerminal > > list; - typedef IfcTemplatedEntityList< IfcFireSuppressionTerminal >::it it; + 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. /// Instrumentation is typically for the purpose of determining the value of the property at a point in time. It is not the purpose of an instrument to record or integrate the values over time (although they may be connected to recording devices that do perform such a function). This entity provides for all forms of mechanical flow instrument (thermometers, pressure gauges etc.) and electrical flow instruments (ammeters, voltmeters etc.) @@ -54041,21 +52525,19 @@ public: class IfcFlowInstrument : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcFlowInstrument - bool hasPredefinedType(); - IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcFlowInstrument (IfcAbstractEntityPtr e); + IfcFlowInstrument (IfcAbstractEntity* e); IfcFlowInstrument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType); - typedef IfcFlowInstrument* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcFlowInstrument > > list; - typedef IfcTemplatedEntityList< IfcFlowInstrument >::it it; + typedef IfcTemplatedEntityList< IfcFlowInstrument > list; }; /// Entity Definition /// @@ -54112,21 +52594,19 @@ public: class IfcProtectiveDeviceTrippingUnit : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcProtectiveDeviceTrippingUnit - bool hasPredefinedType(); - IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcProtectiveDeviceTrippingUnit (IfcAbstractEntityPtr e); + IfcProtectiveDeviceTrippingUnit (IfcAbstractEntity* e); IfcProtectiveDeviceTrippingUnit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType); - typedef IfcProtectiveDeviceTrippingUnit* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnit > > list; - typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnit >::it it; + 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. /// @@ -54265,21 +52745,19 @@ public: class IfcSensor : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcSensor - bool hasPredefinedType(); - IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcSensorTypeEnum::IfcSensorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcSensor (IfcAbstractEntityPtr e); + IfcSensor (IfcAbstractEntity* e); IfcSensor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType); - typedef IfcSensor* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcSensor > > list; - typedef IfcTemplatedEntityList< IfcSensor >::it it; + typedef IfcTemplatedEntityList< IfcSensor > list; }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. /// A unitary control element provides a housing for an aggregation of control or electrical distribution elements that, in combination, perform a singular (unitary) purpose. Each item in the aggregation may have its own geometric representation and location. @@ -54339,21 +52817,19 @@ public: class IfcUnitaryControlElement : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcUnitaryControlElement - bool hasPredefinedType(); - IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcUnitaryControlElement (IfcAbstractEntityPtr e); + IfcUnitaryControlElement (IfcAbstractEntity* e); IfcUnitaryControlElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType); - typedef IfcUnitaryControlElement* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcUnitaryControlElement > > list; - typedef IfcTemplatedEntityList< IfcUnitaryControlElement >::it it; + 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. /// @@ -54420,21 +52896,19 @@ public: class IfcActuator : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcActuator - bool hasPredefinedType(); - IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcActuatorTypeEnum::IfcActuatorTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcActuator (IfcAbstractEntityPtr e); + IfcActuator (IfcAbstractEntity* e); IfcActuator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType); - typedef IfcActuator* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcActuator > > list; - typedef IfcTemplatedEntityList< IfcActuator >::it it; + 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. /// Alarms include the provision of break glass buttons and manual pull boxes that are used to activate alarms. @@ -54481,21 +52955,19 @@ public: class IfcAlarm : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcAlarm - bool hasPredefinedType(); - IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcAlarmTypeEnum::IfcAlarmTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcAlarm (IfcAbstractEntityPtr e); + IfcAlarm (IfcAbstractEntity* e); IfcAlarm (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType); - typedef IfcAlarm* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcAlarm > > list; - typedef IfcTemplatedEntityList< IfcAlarm >::it it; + typedef IfcTemplatedEntityList< IfcAlarm > list; }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. /// A controller may be physical (having placement within a spatial structure) or logical (a software interface or aggregated within a programmable physical controller). @@ -54606,25 +53078,23 @@ public: class IfcController : public IfcDistributionControlElement { public: /// Whether the optional attribute PredefinedType is defined for this IfcController - bool hasPredefinedType(); - IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType(); + bool hasPredefinedType() const; + IfcControllerTypeEnum::IfcControllerTypeEnum PredefinedType() const; void setPredefinedType(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 const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "PredefinedType"; } return IfcDistributionControlElement::getArgumentName(i); } - virtual ArgumentPtr getArgument(unsigned int i) const { return entity->getArgument(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); - IfcController (IfcAbstractEntityPtr e); + IfcController (IfcAbstractEntity* e); IfcController (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType); - typedef IfcController* ptr; - typedef SHARED_PTR< IfcTemplatedEntityList< IfcController > > list; - typedef IfcTemplatedEntityList< IfcController >::it it; + typedef IfcTemplatedEntityList< IfcController > list; }; void InitStringMap(); -IfcUtil::IfcSchemaEntity SchemaEntity(IfcAbstractEntityPtr e = 0); +IfcUtil::IfcBaseClass* SchemaEntity(IfcAbstractEntity* e = 0); } #endif diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index 5dbc5d6c80..45f26ed424 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -90,13 +90,13 @@ IfcSchema::IfcOwnerHistory* IfcHierarchyHelper::addOwnerHistory() { } IfcSchema::IfcProject* IfcHierarchyHelper::addProject(IfcSchema::IfcOwnerHistory* owner_hist) { - IfcSchema::IfcRepresentationContext::list rep_contexts (new IfcTemplatedEntityList()); + IfcSchema::IfcRepresentationContext::list::ptr rep_contexts (new IfcSchema::IfcRepresentationContext::list); IfcSchema::IfcGeometricRepresentationContext* rep_context = new IfcSchema::IfcGeometricRepresentationContext( std::string("Plan"), std::string("Model"), 3, 1e-5, addPlacement3d(), addTriplet(0, 1, 0)); rep_contexts->push(rep_context); - IfcEntities units (new IfcEntityList()); + IfcEntityList::ptr units (new IfcEntityList); IfcSchema::IfcDimensionalExponents* dimexp = new IfcSchema::IfcDimensionalExponents(0, 0, 0, 0, 0, 0, 0); IfcSchema::IfcSIUnit* unit1 = new IfcSchema::IfcSIUnit(IfcSchema::IfcUnitEnum::IfcUnit_LENGTHUNIT, IfcSchema::IfcSIPrefix::IfcSIPrefix_MILLI, IfcSchema::IfcSIUnitName::IfcSIUnitName_METRE); @@ -236,7 +236,7 @@ void IfcHierarchyHelper::addExtrudedPolyline(IfcSchema::IfcShapeRepresentation* IfcSchema::IfcAxis2Placement2D* place, IfcSchema::IfcAxis2Placement3D* place2, IfcSchema::IfcDirection* dir, IfcSchema::IfcRepresentationContext* context) { - IfcSchema::IfcCartesianPoint::list cartesian_points (new IfcTemplatedEntityList()); + IfcSchema::IfcCartesianPoint::list::ptr cartesian_points (new IfcSchema::IfcCartesianPoint::list); for (std::vector >::const_iterator i = points.begin(); i != points.end(); ++i) { cartesian_points->push(addDoublet(i->first, i->second)); } @@ -248,7 +248,7 @@ void IfcHierarchyHelper::addExtrudedPolyline(IfcSchema::IfcShapeRepresentation* IfcSchema::IfcExtrudedAreaSolid* solid = new IfcSchema::IfcExtrudedAreaSolid( profile, place2 ? place2 : addPlacement3d(), dir ? dir : addTriplet(0, 0, 1), h); - IfcSchema::IfcRepresentationItem::list items = rep->Items(); + IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); items->push(solid); rep->setItems(items); @@ -261,8 +261,8 @@ IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addExtrudedPolyline(co IfcSchema::IfcAxis2Placement2D* place, IfcSchema::IfcAxis2Placement3D* place2, IfcSchema::IfcDirection* dir, IfcSchema::IfcRepresentationContext* context) { - IfcSchema::IfcRepresentation::list reps (new IfcTemplatedEntityList()); - IfcSchema::IfcRepresentationItem::list items (new IfcTemplatedEntityList()); + IfcSchema::IfcRepresentation::list::ptr reps (new IfcSchema::IfcRepresentation::list); + IfcSchema::IfcRepresentationItem::list::ptr items (new IfcSchema::IfcRepresentationItem::list); IfcSchema::IfcShapeRepresentation* rep = new IfcSchema::IfcShapeRepresentation(context ? context : getSingle(), std::string("Body"), std::string("SweptSolid"), items); @@ -287,7 +287,7 @@ void IfcHierarchyHelper::addBox(IfcSchema::IfcShapeRepresentation* rep, double w AddEntity(profile); AddEntity(solid); - IfcSchema::IfcRepresentationItem::list items = rep->Items(); + IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); items->push(solid); rep->setItems(items); } else { @@ -304,8 +304,8 @@ void IfcHierarchyHelper::addBox(IfcSchema::IfcShapeRepresentation* rep, double w IfcSchema::IfcProductDefinitionShape* IfcHierarchyHelper::addBox(double w, double d, double h, IfcSchema::IfcAxis2Placement2D* place, IfcSchema::IfcAxis2Placement3D* place2, IfcSchema::IfcDirection* dir, IfcSchema::IfcRepresentationContext* context) { - IfcSchema::IfcRepresentation::list reps (new IfcTemplatedEntityList()); - IfcSchema::IfcRepresentationItem::list items (new IfcTemplatedEntityList()); + IfcSchema::IfcRepresentation::list::ptr reps (new IfcSchema::IfcRepresentation::list); + IfcSchema::IfcRepresentationItem::list::ptr items (new IfcSchema::IfcRepresentationItem::list); IfcSchema::IfcShapeRepresentation* rep = new IfcSchema::IfcShapeRepresentation( context ? context : getSingle(), std::string("Body"), std::string("SweptSolid"), items); reps->push(rep); @@ -321,16 +321,16 @@ void IfcHierarchyHelper::clipRepresentation(IfcSchema::IfcProductRepresentation* { IfcSchema::IfcPlane* plane = new IfcSchema::IfcPlane(place); IfcSchema::IfcHalfSpaceSolid* half_space = new IfcSchema::IfcHalfSpaceSolid(plane, agree); - IfcSchema::IfcRepresentation::list reps = shape->Representations(); - for (IfcSchema::IfcRepresentation::it j = reps->begin(); j != reps->end(); ++j) { + IfcSchema::IfcRepresentation::list::ptr reps = shape->Representations(); + for (IfcSchema::IfcRepresentation::list::it j = reps->begin(); j != reps->end(); ++j) { IfcSchema::IfcRepresentation* rep = *j; if (rep->RepresentationIdentifier() != "Body") continue; rep->setRepresentationType("Clipping"); - IfcSchema::IfcRepresentationItem::list items = rep->Items(); - IfcSchema::IfcRepresentationItem::list new_items (new IfcTemplatedEntityList()); + IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); + IfcSchema::IfcRepresentationItem::list::ptr new_items (new IfcSchema::IfcRepresentationItem::list); AddEntity(plane); AddEntity(half_space); - for (IfcSchema::IfcRepresentationItem::it i = items->begin(); i != items->end(); ++i) { + for (IfcSchema::IfcRepresentationItem::list::it i = items->begin(); i != items->end(); ++i) { IfcSchema::IfcRepresentationItem* item = *i; IfcSchema::IfcBooleanClippingResult* clip = new IfcSchema::IfcBooleanClippingResult( IfcSchema::IfcBooleanOperator::IfcBooleanOperator_DIFFERENCE, item, half_space); @@ -351,11 +351,11 @@ IfcSchema::IfcPresentationStyleAssignment* IfcHierarchyHelper::setSurfaceColour( : new IfcSchema::IfcSurfaceStyleRendering(colour, 1.0-a, boost::none, boost::none, boost::none, boost::none, boost::none, boost::none, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT); - IfcEntities styles(new IfcEntityList()); + IfcEntityList::ptr styles(new IfcEntityList()); styles->push(rendering); IfcSchema::IfcSurfaceStyle* surface_style = new IfcSchema::IfcSurfaceStyle( boost::none, IfcSchema::IfcSurfaceSide::IfcSurfaceSide_BOTH, styles); - IfcEntities surface_styles(new IfcEntityList()); + IfcEntityList::ptr surface_styles(new IfcEntityList()); surface_styles->push(surface_style); IfcSchema::IfcPresentationStyleAssignment* style_assignment = new IfcSchema::IfcPresentationStyleAssignment(surface_styles); @@ -371,17 +371,17 @@ void IfcHierarchyHelper::setSurfaceColour(IfcSchema::IfcProductRepresentation* s IfcSchema::IfcPresentationStyleAssignment* style_assignment) { #ifdef USE_IFC4 - IfcEntities style_assignments (new IfcEntityList()); + IfcEntityList::ptr style_assignments (new IfcEntityList); #else - IfcSchema::IfcPresentationStyleAssignment::list style_assignments (new IfcTemplatedEntityList()); + IfcSchema::IfcPresentationStyleAssignment::list::ptr style_assignments (new IfcSchema::IfcPresentationStyleAssignment::list); #endif style_assignments->push(style_assignment); - IfcSchema::IfcRepresentation::list reps = shape->Representations(); - for (IfcSchema::IfcRepresentation::it j = reps->begin(); j != reps->end(); ++j) { + IfcSchema::IfcRepresentation::list::ptr reps = shape->Representations(); + for (IfcSchema::IfcRepresentation::list::it j = reps->begin(); j != reps->end(); ++j) { IfcSchema::IfcRepresentation* rep = *j; if (rep->RepresentationIdentifier() != "Body" && rep->RepresentationIdentifier() != "Facetation") continue; - IfcSchema::IfcRepresentationItem::list items = rep->Items(); - for (IfcSchema::IfcRepresentationItem::it i = items->begin(); i != items->end(); ++i) { + IfcSchema::IfcRepresentationItem::list::ptr items = rep->Items(); + for (IfcSchema::IfcRepresentationItem::list::it i = items->begin(); i != items->end(); ++i) { IfcSchema::IfcRepresentationItem* item = *i; IfcSchema::IfcStyledItem* styled_item = new IfcSchema::IfcStyledItem(item, style_assignments, boost::none); AddEntity(styled_item); diff --git a/src/ifcparse/IfcHierarchyHelper.h b/src/ifcparse/IfcHierarchyHelper.h index 059e6f66e2..b1084cb8cd 100644 --- a/src/ifcparse/IfcHierarchyHelper.h +++ b/src/ifcparse/IfcHierarchyHelper.h @@ -56,7 +56,7 @@ public: template T* getSingle() { - typename T::list ts = EntitiesByType(); + typename T::list::ptr ts = EntitiesByType(); if (ts->Size() != 1) return 0; return *ts->begin(); } @@ -76,12 +76,12 @@ public: void addRelatedObject(IfcSchema::IfcObjectDefinition* related_object, IfcSchema::IfcObjectDefinition* relating_object, IfcSchema::IfcOwnerHistory* owner_hist = 0) { - typename T::list li = EntitiesByType(); + typename T::list::ptr li = EntitiesByType(); bool found = false; - for (typename T::it i = li->begin(); i != li->end(); ++i) { + for (typename T::list::it i = li->begin(); i != li->end(); ++i) { T* rel = *i; if (rel->RelatingObject() == relating_object) { - IfcSchema::IfcObjectDefinition::list products = rel->RelatedObjects(); + IfcSchema::IfcObjectDefinition::list::ptr products = rel->RelatedObjects(); products->push(related_object); rel->setRelatedObjects(products); found = true; @@ -95,7 +95,7 @@ public: if (! owner_hist) { owner_hist = addOwnerHistory(); } - IfcSchema::IfcObjectDefinition::list relating_objects (new IfcTemplatedEntityList()); + IfcSchema::IfcObjectDefinition::list::ptr relating_objects (new IfcTemplatedEntityList()); relating_objects->push(relating_object); T* t = new T(IfcWrite::IfcGuidHelper(), owner_hist, boost::none, boost::none, related_object, relating_objects); AddEntity(t); @@ -144,12 +144,12 @@ template <> inline void IfcHierarchyHelper::addRelatedObject (IfcSchema::IfcObjectDefinition* related_object, IfcSchema::IfcObjectDefinition* relating_object, IfcSchema::IfcOwnerHistory* owner_hist) { - IfcSchema::IfcRelContainedInSpatialStructure::list li = EntitiesByType(); + IfcSchema::IfcRelContainedInSpatialStructure::list::ptr li = EntitiesByType(); bool found = false; - for (IfcSchema::IfcRelContainedInSpatialStructure::it i = li->begin(); i != li->end(); ++i) { + for (IfcSchema::IfcRelContainedInSpatialStructure::list::it i = li->begin(); i != li->end(); ++i) { IfcSchema::IfcRelContainedInSpatialStructure* rel = *i; if (rel->RelatingStructure() == relating_object) { - IfcSchema::IfcProduct::list products = rel->RelatedElements(); + IfcSchema::IfcProduct::list::ptr products = rel->RelatedElements(); products->push((IfcSchema::IfcProduct*)related_object); rel->setRelatedElements(products); found = true; @@ -163,7 +163,7 @@ inline void IfcHierarchyHelper::addRelatedObject ()); + IfcSchema::IfcProduct::list::ptr relating_objects (new IfcTemplatedEntityList()); relating_objects->push((IfcSchema::IfcProduct*)relating_object); IfcSchema::IfcRelContainedInSpatialStructure* t = new IfcSchema::IfcRelContainedInSpatialStructure(IfcWrite::IfcGuidHelper(), owner_hist, boost::none, boost::none, relating_objects, (IfcSchema::IfcSpatialStructureElement*)related_object); diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index d44426ce2d..d7caa34cff 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -415,7 +415,7 @@ ArgumentList::ArgumentList(Tokens* t, std::vector& ids) { } } -void ArgumentList::Push(ArgumentPtr l) { +void ArgumentList::Push(Argument* l) { list.push_back(l); } @@ -428,7 +428,7 @@ ArgumentList::operator double() const { throw IfcException("Argument is not a nu ArgumentList::operator std::string() const { throw IfcException("Argument is not a string"); } ArgumentList::operator std::vector() const { std::vector r; - std::vector::const_iterator it; + std::vector::const_iterator it; for ( it = list.begin(); it != list.end(); ++ it ) { r.push_back(**it); } @@ -436,7 +436,7 @@ ArgumentList::operator std::vector() const { } ArgumentList::operator std::vector() const { std::vector r; - std::vector::const_iterator it; + std::vector::const_iterator it; for ( it = list.begin(); it != list.end(); ++ it ) { r.push_back(**it); } @@ -444,26 +444,39 @@ ArgumentList::operator std::vector() const { } ArgumentList::operator std::vector() const { std::vector r; - std::vector::const_iterator it; + std::vector::const_iterator it; for ( it = list.begin(); it != list.end(); ++ it ) { r.push_back(**it); } return r; } -ArgumentList::operator IfcUtil::IfcSchemaEntity() const { throw IfcException("Argument is not an IFC type"); } +ArgumentList::operator IfcUtil::IfcBaseClass*() const { throw IfcException("Argument is not an IFC type"); } //ArgumentList::operator IfcUtil::IfcAbstractSelect::ptr() const { throw IfcException("Argument is not an IFC type"); } -ArgumentList::operator IfcEntities() const { - IfcEntities l ( new IfcEntityList() ); - std::vector::const_iterator it; +ArgumentList::operator IfcEntityList::ptr() const { + IfcEntityList::ptr l ( new IfcEntityList() ); + std::vector::const_iterator it; for ( it = list.begin(); it != list.end(); ++ it ) { // FIXME: account for $ - const IfcUtil::IfcSchemaEntity entity = **it; + IfcUtil::IfcBaseClass* entity = **it; l->push(entity); } return l; } +ArgumentList::operator IfcEntityListList::ptr() const { + IfcEntityListList::ptr l ( new IfcEntityListList() ); + std::vector::const_iterator it; + for ( it = list.begin(); it != list.end(); ++ it ) { + const Argument* arg = *it; + const ArgumentList* arg_list; + if ((arg_list = dynamic_cast(arg))) { + IfcEntityList::ptr e = *arg_list; + l->push(e); + } + } + return l; +} unsigned int ArgumentList::Size() const { return (unsigned int) list.size(); } -ArgumentPtr ArgumentList::operator [] (unsigned int i) const { +Argument* ArgumentList::operator [] (unsigned int i) const { if ( i >= list.size() ) throw IfcException("Argument index out of range"); return list[i]; @@ -471,7 +484,7 @@ ArgumentPtr ArgumentList::operator [] (unsigned int i) const { std::string ArgumentList::toString(bool upper) const { std::stringstream ss; ss << "("; - for( std::vector::const_iterator it = list.begin(); it != list.end(); it ++ ) { + for( std::vector::const_iterator it = list.begin(); it != list.end(); it ++ ) { if ( it != list.begin() ) ss << ","; ss << (*it)->toString(upper); } @@ -480,7 +493,7 @@ std::string ArgumentList::toString(bool upper) const { } bool ArgumentList::isNull() const { return false; } ArgumentList::~ArgumentList() { - for( std::vector::iterator it = list.begin(); it != list.end(); it ++ ) { + for( std::vector::iterator it = list.begin(); it != list.end(); it ++ ) { delete (*it); } list.clear(); @@ -496,10 +509,11 @@ TokenArgument::operator std::string() const { return TokenFunc::asString(token); TokenArgument::operator std::vector() const { throw IfcException("Argument is not a list of floats"); } TokenArgument::operator std::vector() const { throw IfcException("Argument is not a list of ints"); } TokenArgument::operator std::vector() const { throw IfcException("Argument is not a list of strings"); } -TokenArgument::operator IfcUtil::IfcSchemaEntity() const { return token.first->file->EntityById(TokenFunc::asInt(token)); } -TokenArgument::operator IfcEntities() const { throw IfcException("Argument is not a list of entities"); } +TokenArgument::operator IfcUtil::IfcBaseClass*() const { return token.first->file->EntityById(TokenFunc::asInt(token)); } +TokenArgument::operator IfcEntityList::ptr() const { throw IfcException("Argument is not a list of entities"); } +TokenArgument::operator IfcEntityListList::ptr() const { throw IfcException("Argument is not a list of entity lists"); } unsigned int TokenArgument::Size() const { return 1; } -ArgumentPtr TokenArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); } +Argument* TokenArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); } std::string TokenArgument::toString(bool upper) const { if ( upper && TokenFunc::isString(token) ) { return IfcWrite::IfcCharacterEncoder(TokenFunc::asString(token)); @@ -518,13 +532,14 @@ EntityArgument::operator std::string() const { throw IfcException("Argument is n EntityArgument::operator std::vector() const { throw IfcException("Argument is not a list of floats"); } EntityArgument::operator std::vector() const { throw IfcException("Argument is not a list of ints"); } EntityArgument::operator std::vector() const { throw IfcException("Argument is not a list of strings"); } -EntityArgument::operator IfcUtil::IfcSchemaEntity() const { return entity; } +EntityArgument::operator IfcUtil::IfcBaseClass*() const { return entity; } //EntityArgument::operator IfcUtil::IfcAbstractSelect::ptr() const { return entity; } -EntityArgument::operator IfcEntities() const { throw IfcException("Argument is not a list of entities"); } +EntityArgument::operator IfcEntityList::ptr() const { throw IfcException("Argument is not a list of entities"); } +EntityArgument::operator IfcEntityListList::ptr() const { throw IfcException("Argument is not a list of entity lists"); } unsigned int EntityArgument::Size() const { return 1; } -ArgumentPtr EntityArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); } +Argument* EntityArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); } std::string EntityArgument::toString(bool upper) const { - ArgumentPtr arg = entity->wrappedValue(); + Argument* arg = entity->wrappedValue(); IfcParse::TokenArgument* token_arg = dynamic_cast(arg); const bool is_string = TokenFunc::isString(token_arg->token); std::string token_string = token_arg ? (is_string @@ -548,13 +563,11 @@ EntityArgument::~EntityArgument() { delete entity; } // // Reads an Entity from the list of Tokens // -Entity::Entity(unsigned int i, IfcFile* f) { //: file(f) { +Entity::Entity(unsigned int i, IfcFile* f) : _id(i), args(0) { file = f; Token datatype = f->tokens->Next(); if ( ! TokenFunc::isDatatype(datatype)) throw IfcException("Unexpected token while parsing entity"); _type = IfcSchema::Type::FromString(TokenFunc::asString(datatype)); - _id = i; - args = ArgumentPtr(); offset = datatype.second; } @@ -572,7 +585,7 @@ Entity::Entity(unsigned int i, IfcFile* f, unsigned int o) { // : file(f) { // // Access the Nth argument from the ArgumentList // -ArgumentPtr Entity::getArgument(unsigned int i) { +Argument* Entity::getArgument(unsigned int i) { if ( ! args ) { std::vector ids; Load(ids, true); @@ -580,7 +593,7 @@ ArgumentPtr Entity::getArgument(unsigned int i) { return (*args)[i]; } -unsigned int Entity::getArgumentCount() { +unsigned int Entity::getArgumentCount() const { if ( ! args ) { std::vector ids; Load(ids, true); @@ -591,7 +604,7 @@ unsigned int Entity::getArgumentCount() { // // Load the ArgumentList // -void Entity::Load(std::vector& ids, bool seek) { +void Entity::Load(std::vector& ids, bool seek) const { if ( seek ) { file->tokens->stream->Seek(offset); Token datatype = file->tokens->Next(); @@ -612,7 +625,7 @@ IfcSchema::Type::Enum Entity::type() const { // // Returns the CamelCase string representation of the datatype as it is defined in the schema // -std::string Entity::datatype() { +std::string Entity::datatype() const { return IfcSchema::Type::ToString(_type); } @@ -620,7 +633,7 @@ std::string Entity::datatype() { // Returns a string representation of the entity // Note that this initializes the entity if it is not initialized // -std::string Entity::toString(bool upper) { +std::string Entity::toString(bool upper) const { if ( ! args ) { std::vector ids; Load(ids, true); @@ -641,9 +654,9 @@ Entity::~Entity() { // // Returns the entities of type c that have this entity in their ArgumentList // -IfcEntities Entity::getInverse(IfcSchema::Type::Enum c) { - IfcEntities l = IfcEntities(new IfcEntityList()); - IfcEntities all = file->EntitiesByReference(_id); +IfcEntityList::ptr Entity::getInverse(IfcSchema::Type::Enum c) { + IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList()); + IfcEntityList::ptr all = file->EntitiesByReference(_id); if ( ! all ) return l; for( IfcEntityList::it it = all->begin(); it != all->end();++ it ) { if ( c == IfcSchema::Type::ALL || (*it)->is(c) ) { @@ -652,9 +665,9 @@ IfcEntities Entity::getInverse(IfcSchema::Type::Enum c) { } return l; } -IfcEntities Entity::getInverse(IfcSchema::Type::Enum c, int i, const std::string& a) { - IfcEntities l = IfcEntities(new IfcEntityList()); - IfcEntities all = getInverse(c); +IfcEntityList::ptr Entity::getInverse(IfcSchema::Type::Enum c, int i, const std::string& a) { + IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList()); + IfcEntityList::ptr all = getInverse(c); for( IfcEntityList::it it = all->begin(); it != all->end();++ it ) { const std::string s = *(*it)->entity->getArgument(i); if ( s == a ) { @@ -702,8 +715,8 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* f) { unsigned int currentId = 0; lastId = 0; int x = 0; - EntityPtr e; - IfcUtil::IfcSchemaEntity entity = 0; + Entity* e; + IfcUtil::IfcBaseClass* entity = 0; Logger::Status("Scanning file..."); while ( ! file->eof ) { if ( currentId ) { @@ -721,7 +734,7 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* f) { Logger::Status(ss.str(), false); } if ( entity->is(IfcSchema::Type::IfcRoot) ) { - IfcSchema::IfcRoot::ptr ifc_root = (IfcSchema::IfcRoot::ptr) entity; + IfcSchema::IfcRoot* ifc_root = (IfcSchema::IfcRoot*) entity; try { const std::string guid = ifc_root->GlobalId(); if ( byguid.find(guid) != byguid.end() ) { @@ -736,9 +749,9 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* f) { } IfcSchema::Type::Enum ty = entity->type(); do { - IfcEntities L = EntitiesByType(ty); + IfcEntityList::ptr L = EntitiesByType(ty); if ( L == 0 ) { - L = IfcEntities(new IfcEntityList()); + L = IfcEntityList::ptr(new IfcEntityList()); bytype[ty] = L; } L->push(entity); @@ -762,9 +775,9 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* f) { if ( TokenFunc::isOperator(token,'=') ) { currentId = id; } else if (entity) { - IfcEntities L = EntitiesByReference(id); + IfcEntityList::ptr L = EntitiesByReference(id); if ( L == 0 ) { - L = IfcEntities(new IfcEntityList()); + L = IfcEntityList::ptr(new IfcEntityList()); byref[id] = L; } L->push(entity); @@ -775,14 +788,14 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* f) { Logger::Status("\rDone scanning file "); return true; } -void IfcFile::AddEntities(IfcEntities es) { +void IfcFile::AddEntities(IfcEntityList::ptr es) { for( IfcEntityList::it i = es->begin(); i != es->end(); ++ i ) { AddEntity(*i); } } -void IfcFile::AddEntity(IfcUtil::IfcSchemaEntity entity) { +void IfcFile::AddEntity(IfcUtil::IfcBaseClass* entity) { if ( entity->is(IfcSchema::Type::IfcRoot) ) { - IfcSchema::IfcRoot::ptr ifc_root = (IfcSchema::IfcRoot::ptr) entity; + IfcSchema::IfcRoot* ifc_root = (IfcSchema::IfcRoot*) entity; try { const std::string guid = ifc_root->GlobalId(); if ( byguid.find(guid) != byguid.end() ) { @@ -797,9 +810,9 @@ void IfcFile::AddEntity(IfcUtil::IfcSchemaEntity entity) { } IfcSchema::Type::Enum ty = entity->type(); do { - IfcEntities L = EntitiesByType(ty); + IfcEntityList::ptr L = EntitiesByType(ty); if ( L == 0 ) { - L = IfcEntities(new IfcEntityList()); + L = IfcEntityList::ptr(new IfcEntityList()); bytype[ty] = L; } L->push(entity); @@ -822,33 +835,33 @@ void IfcFile::AddEntity(IfcUtil::IfcSchemaEntity entity) { byid[new_id] = entity; } -IfcEntities IfcFile::EntitiesByType(IfcSchema::Type::Enum t) { +IfcEntityList::ptr IfcFile::EntitiesByType(IfcSchema::Type::Enum t) { MapEntitiesByType::const_iterator it = bytype.find(t); - return (it == bytype.end()) ? IfcEntities() : it->second; + return (it == bytype.end()) ? IfcEntityList::ptr() : it->second; } -IfcEntities IfcFile::EntitiesByType(const std::string& t) { +IfcEntityList::ptr IfcFile::EntitiesByType(const std::string& t) { std::string ty = t; for (std::string::iterator p = ty.begin(); p != ty.end(); ++p ) *p = toupper(*p); return EntitiesByType(IfcSchema::Type::FromString(ty)); } -IfcEntities IfcFile::EntitiesByReference(int t) { +IfcEntityList::ptr IfcFile::EntitiesByReference(int t) { MapEntitiesByRef::const_iterator it = byref.find(t); - return (it == byref.end()) ? IfcEntities() : it->second; + return (it == byref.end()) ? IfcEntityList::ptr() : it->second; } -IfcUtil::IfcSchemaEntity IfcFile::EntityById(int id) { +IfcUtil::IfcBaseClass* IfcFile::EntityById(int id) { MapEntityById::const_iterator it = byid.find(id); if ( it == byid.end() ) { MapOffsetById::const_iterator it2 = offsets.find(id); if ( it2 == offsets.end() ) throw IfcException("Entity not found"); const unsigned int offset = (*it2).second; - EntityPtr e = EntityPtr(new Entity(id,this,offset)); - IfcUtil::IfcSchemaEntity entity = IfcSchema::SchemaEntity(e); + Entity* e = new Entity(id,this,offset); + IfcUtil::IfcBaseClass* entity = IfcSchema::SchemaEntity(e); byid[id] = entity; return entity; } return it->second; } -IfcSchema::IfcRoot::ptr IfcFile::EntityByGuid(const std::string& guid) { +IfcSchema::IfcRoot* IfcFile::EntityByGuid(const std::string& guid) { MapEntityByGuid::const_iterator it = byguid.find(guid); if ( it == byguid.end() ) { throw IfcException("Entity not found"); @@ -900,7 +913,7 @@ std::ostream& operator<< (std::ostream& os, const IfcParse::IfcFile& f) { os << "DATA;" << std::endl; for ( MapEntityById::const_iterator it = f.begin(); it != f.end(); ++ it ) { - const IfcEntity e = it->second; + const IfcUtil::IfcBaseClass* e = it->second; os << e->entity->toString(true) << ";" << std::endl; } diff --git a/src/ifcparse/IfcParse.h b/src/ifcparse/IfcParse.h index 95641991b2..5c550a4412 100644 --- a/src/ifcparse/IfcParse.h +++ b/src/ifcparse/IfcParse.h @@ -52,12 +52,9 @@ namespace IfcParse { class Entity; - class Entities; class IfcFile; - typedef Entity* EntityPtr; - typedef SHARED_PTR EntitiesPtr; - class Tokens; + typedef std::pair Token; /// Provides functions to convert Tokens to binary data @@ -118,8 +115,8 @@ namespace IfcParse { /// ========== class ArgumentList: public Argument { private: - std::vector list; - void Push(ArgumentPtr l); + std::vector list; + void Push(Argument* l); public: ArgumentList(Tokens* t, std::vector& ids); ~ArgumentList(); @@ -130,11 +127,12 @@ namespace IfcParse { operator std::vector() const; operator std::vector() const; operator std::vector() const; - operator IfcUtil::IfcSchemaEntity() const; + operator IfcUtil::IfcBaseClass*() const; //operator IfcUtil::IfcAbstractSelect::ptr() const; - operator IfcEntities() const; + operator IfcEntityList::ptr() const; + operator IfcEntityListList::ptr() const; unsigned int Size() const; - ArgumentPtr operator [] (unsigned int i) const; + Argument* operator [] (unsigned int i) const; std::string toString(bool upper=false) const; bool isNull() const; }; @@ -155,11 +153,12 @@ namespace IfcParse { operator std::vector() const; operator std::vector() const; operator std::vector() const; - operator IfcUtil::IfcSchemaEntity() const; + operator IfcUtil::IfcBaseClass*() const; //operator IfcUtil::IfcAbstractSelect::ptr() const; - operator IfcEntities() const; + operator IfcEntityList::ptr() const; + operator IfcEntityListList::ptr() const; unsigned int Size() const; - ArgumentPtr operator [] (unsigned int i) const; + Argument* operator [] (unsigned int i) const; std::string toString(bool upper=false) const; bool isNull() const; }; @@ -180,11 +179,12 @@ namespace IfcParse { operator std::vector() const; operator std::vector() const; operator std::vector() const; - operator IfcUtil::IfcSchemaEntity() const; + operator IfcUtil::IfcBaseClass*() const; //operator IfcUtil::IfcAbstractSelect::ptr() const; - operator IfcEntities() const; + operator IfcEntityList::ptr() const; + operator IfcEntityListList::ptr() const; unsigned int Size() const; - ArgumentPtr operator [] (unsigned int i) const; + Argument* operator [] (unsigned int i) const; std::string toString(bool upper=false) const; bool isNull() const; }; @@ -194,9 +194,8 @@ namespace IfcParse { /// ============================ class Entity : public IfcAbstractEntity { private: - //IfcFile* file; - ArgumentPtr args; - IfcSchema::Type::Enum _type; + mutable Argument* args; + mutable IfcSchema::Type::Enum _type; public: /// The EXPRESS ENTITY_INSTANCE_NAME unsigned int _id; @@ -205,26 +204,24 @@ namespace IfcParse { Entity(unsigned int i, IfcFile* t); Entity(unsigned int i, IfcFile* t, unsigned int o); ~Entity(); - IfcEntities getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL); - IfcEntities getInverse(IfcSchema::Type::Enum c, int i, const std::string& a); - void Load(std::vector& ids, bool seek=false); - ArgumentPtr getArgument (unsigned int i); - unsigned int getArgumentCount(); - std::string toString(bool upper=false); - std::string datatype(); + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL); + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum c, int i, const std::string& a); + void Load(std::vector& ids, bool seek=false) const; + Argument* getArgument (unsigned int i); + unsigned int getArgumentCount() const; + std::string toString(bool upper=false) const; + std::string datatype() const; IfcSchema::Type::Enum type() const; bool is(IfcSchema::Type::Enum v) const; unsigned int id(); bool isWritable(); }; -typedef IfcUtil::IfcSchemaEntity IfcEntity; -//typedef IfcEntities IfcEntities; -typedef std::map MapEntitiesByType; -typedef std::map MapEntityById; -typedef std::map MapEntityByGuid; -typedef std::map MapEntitiesByRef; -typedef std::map MapOffsetById; +typedef std::map MapEntitiesByType; +typedef std::map MapEntityById; +typedef std::map MapEntityByGuid; +typedef std::map MapEntitiesByRef; +typedef std::map MapOffsetById; /// This class provides several static convenience functions and variables /// and provide access to the entities in an IFC file @@ -257,36 +254,37 @@ public: /// NOTE: This also returns subtypes of the requested type, for example: /// IfcWall will also return IfcWallStandardCase entities template - typename T::list EntitiesByType() { - IfcEntities e = EntitiesByType(T::Class()); - typename T::list l ( new IfcTemplatedEntityList() ); - if ( e && e->Size() ) + typename T::list::ptr EntitiesByType() { + IfcEntityList::ptr e = EntitiesByType(T::Class()); + typename T::list::ptr l(new typename T::list); + if (e && e->Size()) { for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { - l->push(reinterpret_pointer_cast(*it)); + l->push((T*)*it); } - return l; + } + return l; } /// Returns all entities in the file that match the positional argument. /// NOTE: This also returns subtypes of the requested type, for example: /// IfcWall will also return IfcWallStandardCase entities - IfcEntities EntitiesByType(IfcSchema::Type::Enum t); + IfcEntityList::ptr EntitiesByType(IfcSchema::Type::Enum t); /// Returns all entities in the file that match the positional argument. /// NOTE: This also returns subtypes of the requested type, for example: /// IfcWall will also return IfcWallStandardCase entities - IfcEntities EntitiesByType(const std::string& t); + IfcEntityList::ptr EntitiesByType(const std::string& t); /// Returns all entities in the file that reference the id - IfcEntities EntitiesByReference(int id); + IfcEntityList::ptr EntitiesByReference(int id); /// Returns the entity with the specified id - IfcEntity EntityById(int id); + IfcUtil::IfcBaseClass* EntityById(int id); /// Returns the entity with the specified GlobalId - IfcSchema::IfcRoot::ptr EntityByGuid(const std::string& guid); + IfcSchema::IfcRoot* EntityByGuid(const std::string& guid); bool Init(const std::string& fn); bool Init(std::istream& fn, int len); bool Init(void* data, int len); bool Init(IfcParse::IfcSpfStream* f); unsigned int FreshId() { MaxId ++; return MaxId; } - void AddEntity(IfcUtil::IfcSchemaEntity e); - void AddEntities(IfcEntities es); + void AddEntity(IfcUtil::IfcBaseClass* entity); + void AddEntities(IfcEntityList::ptr es); void filename(const std::string& s); std::string filename() const; diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index a469e731d8..961b4cbe62 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -20,10 +20,10 @@ #include "IfcUtil.h" #include -void IfcEntityList::push(IfcUtil::IfcSchemaEntity l) { +void IfcEntityList::push(IfcUtil::IfcBaseClass* l) { if ( l ) ls.push_back(l); } -void IfcEntityList::push(IfcEntities l) { +void IfcEntityList::push(const IfcEntityList::ptr& l) { for( it i = l->begin(); i != l->end(); ++i ) { if ( *i ) ls.push_back(*i); } @@ -31,18 +31,18 @@ void IfcEntityList::push(IfcEntities l) { int IfcEntityList::Size() const { return (unsigned int) ls.size(); } IfcEntityList::it IfcEntityList::begin() { return ls.begin(); } IfcEntityList::it IfcEntityList::end() { return ls.end(); } -IfcUtil::IfcSchemaEntity IfcEntityList::operator[] (int i) { +IfcUtil::IfcBaseClass* IfcEntityList::operator[] (int i) { return ls[i]; } -IfcEntities IfcEntityList::getInverse(IfcSchema::Type::Enum c) { - IfcEntities l = IfcEntities(new IfcEntityList()); +IfcEntityList::ptr IfcEntityList::getInverse(IfcSchema::Type::Enum c) { + IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList()); for( it i = begin(); i != end(); ++i ) { l->push((*i)->entity->getInverse(c)); } return l; } -IfcEntities IfcEntityList::getInverse(IfcSchema::Type::Enum c, int ar, const std::string& a) { - IfcEntities l = IfcEntities(new IfcEntityList()); +IfcEntityList::ptr IfcEntityList::getInverse(IfcSchema::Type::Enum c, int ar, const std::string& a) { + IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList()); for( it i = begin(); i != end(); ++i ) { l->push((*i)->entity->getInverse(c,ar,a)); } @@ -51,15 +51,15 @@ IfcEntities IfcEntityList::getInverse(IfcSchema::Type::Enum c, int ar, const std bool IfcUtil::IfcEntitySelect::is(IfcSchema::Type::Enum v) const { return entity->is(v); } IfcSchema::Type::Enum IfcUtil::IfcEntitySelect::type() const { return entity->type(); } -IfcUtil::IfcEntitySelect::IfcEntitySelect(IfcSchemaEntity b) { entity = b->entity; } -IfcUtil::IfcEntitySelect::IfcEntitySelect(IfcAbstractEntityPtr e) { entity = e; } +IfcUtil::IfcEntitySelect::IfcEntitySelect(IfcBaseClass* b) { entity = b->entity; } +IfcUtil::IfcEntitySelect::IfcEntitySelect(IfcAbstractEntity* e) { entity = e; } bool IfcUtil::IfcEntitySelect::isSimpleType() { return false; } IfcUtil::IfcEntitySelect::~IfcEntitySelect() { delete entity; } bool IfcUtil::IfcArgumentSelect::is(IfcSchema::Type::Enum v) const { return _type == v; } IfcSchema::Type::Enum IfcUtil::IfcArgumentSelect::type() const { return _type; } -IfcUtil::IfcArgumentSelect::IfcArgumentSelect(IfcSchema::Type::Enum t, ArgumentPtr a) { _type = t; arg = a; } -ArgumentPtr IfcUtil::IfcArgumentSelect::wrappedValue() { return arg; } +IfcUtil::IfcArgumentSelect::IfcArgumentSelect(IfcSchema::Type::Enum t, Argument* a) { _type = t; arg = a; } +Argument* IfcUtil::IfcArgumentSelect::wrappedValue() { return arg; } bool IfcUtil::IfcArgumentSelect::isSimpleType() { return true; } IfcUtil::IfcArgumentSelect::~IfcArgumentSelect() { delete arg; } @@ -70,7 +70,7 @@ void Logger::SetOutput(std::ostream* l1, std::ostream* l2) { log2 = &log_stream; } } -void Logger::Message(Logger::Severity type, const std::string& message, const IfcAbstractEntityPtr entity) { +void Logger::Message(Logger::Severity type, const std::string& message, IfcAbstractEntity* entity) { if ( log2 && type >= verbosity ) { (*log2) << "[" << severity_strings[type] << "] " << message << std::endl; if ( entity ) (*log2) << entity->toString() << std::endl; diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index 1655277cfc..eddff0d0c2 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -32,71 +32,51 @@ #include "../ifcparse/Ifc2x3enum.h" #endif -class IfcAbstractEntity; -//typedef SHARED_PTR IfcAbstractEntityPtr; -typedef IfcAbstractEntity* IfcAbstractEntityPtr; - -class IfcEntityList; -typedef SHARED_PTR IfcEntities; - class Argument; -//typedef SHARED_PTR ArgumentPtr; -typedef Argument* ArgumentPtr; - - -template -inline T* reinterpret_pointer_cast(F* from) { - return (T*)from; - //SHARED_PTR v = std::tr1::static_pointer_cast(from); - //return std::tr1::static_pointer_cast(v); -} +class IfcEntityList; +class IfcEntityListList; +class IfcAbstractEntity; namespace IfcUtil { enum ArgumentType { Argument_INT, Argument_BOOL, Argument_DOUBLE, Argument_STRING, Argument_VECTOR_INT, Argument_VECTOR_DOUBLE, Argument_VECTOR_STRING, Argument_ENTITY, Argument_ENTITY_LIST, Argument_ENTITY_LIST_LIST, Argument_ENUMERATION, Argument_UNKNOWN }; -} -namespace IfcUtil { - -class IfcBaseClass { -public: - IfcAbstractEntityPtr entity; - virtual bool is(IfcSchema::Type::Enum v) const = 0; - virtual IfcSchema::Type::Enum type() const = 0; -}; - -class IfcBaseEntity : public IfcBaseClass { -public: - virtual unsigned int getArgumentCount() const = 0; - virtual ArgumentType getArgumentType(unsigned int i) const = 0; - virtual ArgumentPtr getArgument(unsigned int i) const = 0; - virtual const char* getArgumentName(unsigned int i) const = 0; -}; - -//typedef SHARED_PTR IfcSchemaEntity; -typedef IfcBaseClass* IfcSchemaEntity; + class IfcBaseClass { + public: + IfcAbstractEntity* entity; + virtual bool is(IfcSchema::Type::Enum v) const = 0; + virtual IfcSchema::Type::Enum type() const = 0; + }; + class IfcBaseEntity : public IfcBaseClass { + public: + virtual unsigned int getArgumentCount() const = 0; + virtual ArgumentType getArgumentType(unsigned int i) const = 0; + virtual Argument* getArgument(unsigned int i) const = 0; + virtual const char* getArgumentName(unsigned int i) const = 0; + }; } template class IfcTemplatedEntityList; class IfcEntityList { - std::vector ls; + std::vector ls; public: - typedef std::vector::const_iterator it; - IfcEntities getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL); - IfcEntities getInverse(IfcSchema::Type::Enum c, int i, const std::string& a); - void push(IfcUtil::IfcSchemaEntity l); - void push(IfcEntities l); + typedef SHARED_PTR ptr; + typedef std::vector::const_iterator it; + ptr getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL); + ptr getInverse(IfcSchema::Type::Enum c, int i, const std::string& a); + void push(IfcUtil::IfcBaseClass* l); + void push(const ptr& l); it begin(); it end(); - IfcUtil::IfcSchemaEntity operator[] (int i); + IfcUtil::IfcBaseClass* operator[] (int i); int Size() const; template - typename U::list as() { - typename U::list r(new IfcTemplatedEntityList()); + typename U::list::ptr as() { + typename U::list::ptr r(new typename U::list); for ( it i = begin(); i != end(); ++ i ) if ((*i)->is(U::Class())) r->push((U*)*i); return r; } @@ -106,38 +86,101 @@ template class IfcTemplatedEntityList { std::vector ls; public: + typedef SHARED_PTR< IfcTemplatedEntityList > ptr; typedef typename std::vector::const_iterator it; inline void push(T* t) {if (t) ls.push_back(t);} - inline void push(SHARED_PTR< IfcTemplatedEntityList > t) { for ( typename T::it it = t->begin(); it != t->end(); ++it ) push(*it); } + inline void push(ptr t) { for ( typename T::list::it it = t->begin(); it != t->end(); ++it ) push(*it); } inline it begin() { return ls.begin(); } inline it end() { return ls.end(); } inline unsigned int Size() const { return (unsigned int) ls.size(); } - IfcEntities generalize() { - IfcEntities r (new IfcEntityList()); + IfcEntityList::ptr generalize() { + IfcEntityList::ptr r (new IfcEntityList()); for ( it i = begin(); i != end(); ++ i ) r->push(*i); return r; } template - typename U::list as() { - typename U::list r(new IfcTemplatedEntityList()); + typename U::list::ptr as() { + typename U::list::ptr r(new typename U::list); for ( it i = begin(); i != end(); ++ i ) if ((*i)->is(U::Class())) r->push(*i); return r; } }; +template +class IfcTemplatedEntityListList; + +class IfcEntityListList { + std::vector< std::vector > ls; +public: + typedef SHARED_PTR< IfcEntityListList > ptr; + typedef std::vector< std::vector >::const_iterator outer_it; + typedef std::vector::const_iterator inner_it; + void push(const std::vector& l) { + ls.push_back(l); + } + void push(const IfcEntityList::ptr& l) { + std::vector li; + for (std::vector::const_iterator jt = l->begin(); jt != l->end(); ++jt) { + li.push_back(*jt); + } + push(li); + } + outer_it begin() { return ls.begin(); } + outer_it end() { return ls.end(); } + int Size() const { return ls.size(); } + template + typename IfcTemplatedEntityListList::ptr as() { + typename IfcTemplatedEntityListList::ptr r(new IfcTemplatedEntityListList); + const bool all = U::Class() == IfcSchema::Type::ALL; + for (outer_it outer = begin(); outer != end(); ++ outer) { + const std::vector& from = *outer; + typename std::vector to; + for (inner_it inner = from.begin(); inner != from.end(); ++ inner) { + if (all || (*inner)->is(U::Class())) to.push_back((U*)*inner); + } + r->push(to); + } + return r; + } +}; + +template +class IfcTemplatedEntityListList { + std::vector< std::vector > ls; +public: + typedef typename SHARED_PTR< IfcTemplatedEntityListList > ptr; + typedef typename std::vector< std::vector >::const_iterator outer_it; + typedef typename std::vector::const_iterator inner_it; + void push(const std::vector& t) {ls.push_back(t);} + outer_it begin() { return ls.begin(); } + outer_it end() { return ls.end(); } + unsigned int Size() const { return (unsigned int) ls.size(); } + IfcEntityListList::ptr generalize() { + IfcEntityListList::ptr r (new IfcEntityListList()); + for (outer_it outer = begin(); outer != end(); ++ outer) { + const std::vector& from = *outer; + std::vector to; + for (inner_it inner = from.begin(); inner != from.end(); ++ inner) { + to.push_back(*inner); + } + r->push(to); + } + return r; + } +}; + namespace IfcUtil { class IfcAbstractSelect : public IfcBaseClass { public: - typedef SHARED_PTR< IfcTemplatedEntityList > list; - typedef IfcTemplatedEntityList::it it; - typedef IfcAbstractSelect* ptr; + typedef IfcTemplatedEntityList list; virtual bool isSimpleType() = 0; + static IfcSchema::Type::Enum Class() { return IfcSchema::Type::ALL; } }; class IfcEntitySelect : public IfcAbstractSelect { public: typedef IfcEntitySelect* ptr; - IfcEntitySelect(IfcSchemaEntity b); - IfcEntitySelect(IfcAbstractEntityPtr e); + IfcEntitySelect(IfcBaseClass* b); + IfcEntitySelect(IfcAbstractEntity* e); ~IfcEntitySelect(); bool is(IfcSchema::Type::Enum v) const; IfcSchema::Type::Enum type() const; @@ -145,12 +188,12 @@ namespace IfcUtil { }; class IfcArgumentSelect : public IfcAbstractSelect { IfcSchema::Type::Enum _type; - ArgumentPtr arg; + Argument* arg; public: typedef IfcArgumentSelect* ptr; - IfcArgumentSelect(IfcSchema::Type::Enum t, ArgumentPtr a); + IfcArgumentSelect(IfcSchema::Type::Enum t, Argument* a); ~IfcArgumentSelect(); - ArgumentPtr wrappedValue(); + Argument* wrappedValue(); bool is(IfcSchema::Type::Enum v) const; IfcSchema::Type::Enum type() const; bool isSimpleType(); @@ -172,11 +215,12 @@ public: virtual operator std::vector() const = 0; virtual operator std::vector() const = 0; virtual operator std::vector() const = 0; - virtual operator IfcUtil::IfcSchemaEntity() const = 0; + virtual operator IfcUtil::IfcBaseClass*() const = 0; //virtual operator IfcUtil::IfcAbstractSelect::ptr() const = 0; - virtual operator IfcEntities() const = 0; + virtual operator IfcEntityList::ptr() const = 0; + virtual operator IfcEntityListList::ptr() const = 0; virtual unsigned int Size() const = 0; - virtual ArgumentPtr operator [] (unsigned int i) const = 0; + virtual Argument* operator [] (unsigned int i) const = 0; virtual std::string toString(bool upper=false) const = 0; virtual bool isNull() const = 0; virtual ~Argument() {}; @@ -185,15 +229,15 @@ public: class IfcAbstractEntity { public: IfcParse::IfcFile* file; - virtual IfcEntities getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL) = 0; - virtual IfcEntities getInverse(IfcSchema::Type::Enum c, int i, const std::string& a) = 0; - virtual std::string datatype() = 0; - virtual ArgumentPtr getArgument (unsigned int i) = 0; - virtual unsigned int getArgumentCount() = 0; + virtual IfcEntityList::ptr getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL) = 0; + virtual IfcEntityList::ptr getInverse(IfcSchema::Type::Enum c, int i, const std::string& a) = 0; + virtual std::string datatype() const = 0; + virtual Argument* getArgument (unsigned int i) = 0; + virtual unsigned int getArgumentCount() const = 0; virtual ~IfcAbstractEntity() {}; virtual IfcSchema::Type::Enum type() const = 0; virtual bool is(IfcSchema::Type::Enum v) const = 0; - virtual std::string toString(bool upper=false) = 0; + virtual std::string toString(bool upper=false) const = 0; virtual unsigned int id() = 0; virtual bool isWritable() = 0; }; @@ -214,7 +258,7 @@ public: static void Verbosity(Severity v); static Severity Verbosity(); /// Log a message to the output stream - static void Message(Severity type, const std::string& message, const IfcAbstractEntityPtr entity=0); + static void Message(Severity type, const std::string& message, IfcAbstractEntity* entity=0); static void Status(const std::string& message, bool new_line=true); static void ProgressBar(int progress); static std::string GetLog(); diff --git a/src/ifcparse/IfcWritableEntity.h b/src/ifcparse/IfcWritableEntity.h index fa7c967f84..b5f6b3d095 100644 --- a/src/ifcparse/IfcWritableEntity.h +++ b/src/ifcparse/IfcWritableEntity.h @@ -39,7 +39,7 @@ namespace IfcWrite { class IfcWritableEntity : public IfcAbstractEntity { private: std::map writemask; - std::map args; + std::map args; IfcSchema::Type::Enum _type; int* _id; bool arg_writable(int i); @@ -50,14 +50,14 @@ namespace IfcWrite { ~IfcWritableEntity(); int setId(int i=-1); IfcWritableEntity(IfcAbstractEntity* e); - IfcEntities getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL); - IfcEntities getInverse(IfcSchema::Type::Enum c, int i, const std::string& a); - std::string datatype(); - ArgumentPtr getArgument (unsigned int i); - unsigned int getArgumentCount(); + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum c = IfcSchema::Type::ALL); + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum c, int i, const std::string& a); + std::string datatype() const; + Argument* getArgument (unsigned int i); + unsigned int getArgumentCount() const; IfcSchema::Type::Enum type() const; bool is(IfcSchema::Type::Enum v) const; - std::string toString(bool upper=false); + std::string toString(bool upper=false) const; unsigned int id(); bool isWritable(); void setArgument(int i); @@ -67,8 +67,9 @@ namespace IfcWrite { void setArgument(int i,int v, const char* c); void setArgument(int i,const std::string& v); void setArgument(int i,double v); - void setArgument(int i,IfcUtil::IfcSchemaEntity v); - void setArgument(int i,IfcEntities v); + void setArgument(int i,IfcUtil::IfcBaseClass* v); + void setArgument(int i,IfcEntityList::ptr v); + void setArgument(int i,IfcEntityListList::ptr v); void setArgument(int i,const std::vector& v); void setArgument(int i,const std::vector& v); void setArgument(int i,const std::vector& v); diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 2fd819f8c0..82cbd05ff2 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -49,10 +49,10 @@ IfcWritableEntity::IfcWritableEntity(IfcAbstractEntity* e) } } // TODO: Reove redundancy with IfcParse::Entity -IfcEntities IfcWritableEntity::getInverse(IfcSchema::Type::Enum c) { - IfcEntities l = IfcEntities(new IfcEntityList()); +IfcEntityList::ptr IfcWritableEntity::getInverse(IfcSchema::Type::Enum c) { + IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList); int id = _id ? *_id : setId(); - IfcEntities all = file->EntitiesByReference(id); + IfcEntityList::ptr all = file->EntitiesByReference(id); if ( ! all ) return l; for( IfcEntityList::it it = all->begin(); it != all->end();++ it ) { if ( c == IfcSchema::Type::ALL || (*it)->is(c) ) { @@ -61,9 +61,9 @@ IfcEntities IfcWritableEntity::getInverse(IfcSchema::Type::Enum c) { } return l; } -IfcEntities IfcWritableEntity::getInverse(IfcSchema::Type::Enum c, int i, const std::string& a) { - IfcEntities l = IfcEntities(new IfcEntityList()); - IfcEntities all = getInverse(c); +IfcEntityList::ptr IfcWritableEntity::getInverse(IfcSchema::Type::Enum c, int i, const std::string& a) { + IfcEntityList::ptr l = IfcEntityList::ptr(new IfcEntityList); + IfcEntityList::ptr all = getInverse(c); for( IfcEntityList::it it = all->begin(); it != all->end();++ it ) { const std::string s = *(*it)->entity->getArgument(i); if ( s == a ) { @@ -73,12 +73,11 @@ IfcEntities IfcWritableEntity::getInverse(IfcSchema::Type::Enum c, int i, const return l; } -std::string IfcWritableEntity::datatype() { return IfcSchema::Type::ToString(_type); } -ArgumentPtr IfcWritableEntity::getArgument (unsigned int i) { if ( i >= getArgumentCount() ) throw IfcParse::IfcException("Argument not set"); return args[i]; } -unsigned int IfcWritableEntity::getArgumentCount() {return args.size(); } +std::string IfcWritableEntity::datatype() const { return IfcSchema::Type::ToString(_type); } +Argument* IfcWritableEntity::getArgument (unsigned int i) { if ( i >= getArgumentCount() ) throw IfcParse::IfcException("Argument not set"); return args[i]; }unsigned int IfcWritableEntity::getArgumentCount() const {return args.size(); } IfcSchema::Type::Enum IfcWritableEntity::type() const { return _type; } bool IfcWritableEntity::is(IfcSchema::Type::Enum v) const { return _type == v; } -std::string IfcWritableEntity::toString(bool upper) { +std::string IfcWritableEntity::toString(bool upper) const { std::stringstream ss; std::string dt = datatype(); if ( upper ) { @@ -86,9 +85,9 @@ std::string IfcWritableEntity::toString(bool upper) { } if ( _id ) ss << "#" << *_id; ss << "=" << dt << "("; - for ( std::map::const_iterator it = args.begin(); it != args.end(); ++ it ) { + for ( std::map::const_iterator it = args.begin(); it != args.end(); ++ it ) { if ( it != args.begin() ) ss << ","; - const ArgumentPtr a = it->second; + const Argument* a = it->second; ss << it->second->toString(upper); } ss << ")"; @@ -139,14 +138,21 @@ void IfcWritableEntity::setArgument(int i,const std::string& v){ void IfcWritableEntity::setArgument(int i,double v){ _setArgument(i, v); } -void IfcWritableEntity::setArgument(int i,IfcUtil::IfcSchemaEntity v){ +void IfcWritableEntity::setArgument(int i,IfcUtil::IfcBaseClass* v){ if ( v ) { _setArgument(i, v); } else { _setArgument(i, boost::none); } } -void IfcWritableEntity::setArgument(int i,IfcEntities v){ +void IfcWritableEntity::setArgument(int i,IfcEntityList::ptr v){ + if ( v.get() ) { + _setArgument(i, v); + } else { + _setArgument(i, boost::none); + } +} +void IfcWritableEntity::setArgument(int i,IfcEntityListList::ptr v){ if ( v.get() ) { _setArgument(i, v); } else { @@ -175,8 +181,9 @@ public: int operator()(const std::vector& i) const { return i.size(); } int operator()(const std::vector& i) const { return i.size(); } int operator()(const IfcWriteArgument::EnumerationReference& i) const { return -1; } - int operator()(const IfcUtil::IfcSchemaEntity& i) const { return -1; } - int operator()(const IfcEntities& i) const { return i->Size(); } + int operator()(const IfcUtil::IfcBaseClass* const& i) const { return -1; } + int operator()(const IfcEntityList::ptr& i) const { return i->Size(); } + int operator()(const IfcEntityListList::ptr& i) const { return i->Size(); } }; class StringBuilderVisitor : public boost::static_visitor { @@ -241,7 +248,7 @@ public: void operator()(const IfcWriteArgument::EnumerationReference& i) { data << "." << i.enumeration_value << "."; } - void operator()(const IfcUtil::IfcSchemaEntity& i) { + void operator()(const IfcUtil::IfcBaseClass* const& i) { IfcAbstractEntity* e = i->entity; if ( IfcSchema::Type::IsSimple(e->type()) ) { data << e->toString(upper); @@ -249,7 +256,7 @@ public: data << "#" << e->id(); } } - void operator()(const IfcEntities& i) { + void operator()(const IfcEntityList::ptr& i) { data << "("; for (IfcEntityList::it it = i->begin(); it != i->end(); ++it) { if (it != i->begin()) data << ","; @@ -257,6 +264,19 @@ public: } data << ")"; } + void operator()(const IfcEntityListList::ptr& i) { + data << "("; + for (IfcEntityListList::outer_it outer_it = i->begin(); outer_it != i->end(); ++outer_it) { + data << "("; + if (outer_it != i->begin()) data << ","; + for (IfcEntityListList::inner_it inner_it = outer_it->begin(); inner_it != outer_it->end(); ++inner_it) { + if (inner_it != outer_it->begin()) data << ","; + (*this)(*inner_it); + } + data << ")"; + } + data << ")"; + } operator std::string() { return data.str(); } }; @@ -267,10 +287,11 @@ IfcWriteArgument::operator std::string() const { return as(); } IfcWriteArgument::operator std::vector() const { return as >(); } IfcWriteArgument::operator std::vector() const { return as >(); } IfcWriteArgument::operator std::vector() const { return as >(); } -IfcWriteArgument::operator IfcUtil::IfcSchemaEntity() const { return as(); } -IfcWriteArgument::operator IfcEntities() const { return as(); } +IfcWriteArgument::operator IfcUtil::IfcBaseClass*() const { return as(); } +IfcWriteArgument::operator IfcEntityList::ptr() const { return as(); } +IfcWriteArgument::operator IfcEntityListList::ptr() const { throw; } bool IfcWriteArgument::isNull() const { return argumentType() == argument_type_null; } -ArgumentPtr IfcWriteArgument::operator [] (unsigned int i) const { throw IfcParse::IfcException("Invalid cast"); } +Argument* IfcWriteArgument::operator [] (unsigned int i) const { throw IfcParse::IfcException("Invalid cast"); } std::string IfcWriteArgument::toString(bool upper) const { std::ostringstream str; StringBuilderVisitor v(str, upper); @@ -290,17 +311,17 @@ IfcWriteArgument::argument_type IfcWriteArgument::argumentType() const { return static_cast(container.which()); } -IfcEntities IfcSelectHelperEntity::getInverse(IfcSchema::Type::Enum,int,const std::string &) {throw IfcParse::IfcException("Invalid cast");} -IfcEntities IfcSelectHelperEntity::getInverse(IfcSchema::Type::Enum) {throw IfcParse::IfcException("Invalid cast");} -std::string IfcSelectHelperEntity::datatype() { return IfcSchema::Type::ToString(_type); } -ArgumentPtr IfcSelectHelperEntity::getArgument(unsigned int i) { +IfcEntityList::ptr IfcSelectHelperEntity::getInverse(IfcSchema::Type::Enum,int,const std::string &) {throw IfcParse::IfcException("Invalid cast");} +IfcEntityList::ptr IfcSelectHelperEntity::getInverse(IfcSchema::Type::Enum) {throw IfcParse::IfcException("Invalid cast");} +std::string IfcSelectHelperEntity::datatype() const { return IfcSchema::Type::ToString(_type); } +Argument* IfcSelectHelperEntity::getArgument(unsigned int i) { if ( i != 0 ) throw IfcParse::IfcException("Invalid cast"); return arg; } -unsigned int IfcSelectHelperEntity::getArgumentCount() { return 1; } +unsigned int IfcSelectHelperEntity::getArgumentCount() const { return 1; } IfcSchema::Type::Enum IfcSelectHelperEntity::type() const { return _type; } bool IfcSelectHelperEntity::is(IfcSchema::Type::Enum t) const { return _type == t; } -std::string IfcSelectHelperEntity::toString(bool upper) { +std::string IfcSelectHelperEntity::toString(bool upper) const { std::stringstream ss; std::string dt = datatype(); if ( upper ) { @@ -344,16 +365,16 @@ EntityBuffer* EntityBuffer::i = 0; EntityBuffer* EntityBuffer::instance() { if ( ! i ) { i = new EntityBuffer(); - i->buffer = IfcEntities(new IfcEntityList()); + i->buffer = IfcEntityList::ptr(new IfcEntityList); } return i; } -IfcEntities EntityBuffer::Get() { +IfcEntityList::ptr EntityBuffer::Get() { return instance()->buffer; } void EntityBuffer::Clear() { - instance()->buffer = IfcEntities(new IfcEntityList()); + instance()->buffer = IfcEntityList::ptr(new IfcEntityList); } -void EntityBuffer::Add(IfcUtil::IfcSchemaEntity e) { +void EntityBuffer::Add(IfcUtil::IfcBaseClass* e) { instance()->buffer->push(e); } diff --git a/src/ifcparse/IfcWrite.h b/src/ifcparse/IfcWrite.h index ec0cbed40f..e28f4a87a4 100644 --- a/src/ifcparse/IfcWrite.h +++ b/src/ifcparse/IfcWrite.h @@ -82,11 +82,13 @@ namespace IfcWrite { // An entity instance argument. It will either serialize to // e.g. #123 or datatype identifier for simple types, e.g. // IFCREAL(12.3) - IfcUtil::IfcSchemaEntity, + IfcUtil::IfcBaseClass*, // An entity list argument. It will either serialize to // e.g. (#1,#2,#3) or datatype identifier for simple types, // e.g. (IFCREAL(1.2),IFCINTEGER(3.)) - IfcEntities + IfcEntityList::ptr, + // A list of list of entities. E.g. ((#1, #2), (#3)) + IfcEntityListList::ptr > container; public: enum argument_type { @@ -100,8 +102,9 @@ namespace IfcWrite { argument_type_vector_double, argument_type_vector_string, argument_type_enumeration, - argument_type_schema_entity, - argument_type_entities + argument_type_entity, + argument_type_entity_list, + argument_type_entity_list_list }; IfcWriteArgument(IfcAbstractEntity* e) : entity(e) {} template const T& as() const { @@ -121,10 +124,11 @@ namespace IfcWrite { operator std::vector() const; operator std::vector() const; operator std::vector() const; - operator IfcUtil::IfcSchemaEntity() const; - operator IfcEntities() const; + operator IfcUtil::IfcBaseClass*() const; + operator IfcEntityList::ptr() const; + operator IfcEntityListList::ptr() const; bool isNull() const; - ArgumentPtr operator [] (unsigned int i) const; + Argument* operator [] (unsigned int i) const; std::string toString(bool upper=false) const; unsigned int Size() const; argument_type argumentType() const; @@ -141,14 +145,14 @@ namespace IfcWrite { public: // FIXME: Make this a non-pointer argument and implement a copy constructor IfcSelectHelperEntity(IfcSchema::Type::Enum t, IfcWriteArgument* a) : _type(t), arg(a) {} - IfcEntities getInverse(IfcSchema::Type::Enum,int,const std::string &); - IfcEntities getInverse(IfcSchema::Type::Enum); - std::string datatype(); - ArgumentPtr getArgument(unsigned int i); - unsigned int getArgumentCount(); + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum,int,const std::string &); + IfcEntityList::ptr getInverse(IfcSchema::Type::Enum); + std::string datatype() const; + Argument* getArgument(unsigned int i); + unsigned int getArgumentCount() const; IfcSchema::Type::Enum type() const; bool is(IfcSchema::Type::Enum t) const; - std::string toString(bool upper = false); + std::string toString(bool upper = false) const; unsigned int id(); bool isWritable(); }; @@ -183,13 +187,13 @@ namespace IfcWrite { // This way they can be added in a single batch to the IfcFile class EntityBuffer { private: - IfcEntities buffer; + IfcEntityList::ptr buffer; static EntityBuffer* i; static EntityBuffer* instance(); public: - static IfcEntities Get(); + static IfcEntityList::ptr Get(); static void Clear(); - static void Add(IfcUtil::IfcSchemaEntity e); + static void Add(IfcUtil::IfcBaseClass* e); }; }